My array looks like this:
Array
(
[1] => Array
(
[0] => /webmail/
[1] => 42024
[2] => 246538196
[3] => 72
[4] => 70
)
[2] => Array
(
[0] => /public/index.php
[1] => 6022
[2] => 2575777
[3] => 40
[4] => 153
)
[3] => Array
(
[0] => /
[1] => 293
[2] => 5326453
[3] => 184
[4] => 76
)
[4] => Array
(
[0] => /webmail/skins/larry/watermark.html
[1] => 248
[2] => 40225
[3] => 0
[4] => 2
)
[5] => Array
(
[0] => /webmail/program/resources/blank.tif
[1] => 182
[2] => 29406
[3] => 0
[4] => 1
)
and so on... When I want to remove the every element that ends with .tif/.js/.css/.woff I just use :
$key = array_search('*.tif',$sider); // for example for .tif
unset($sider[$key]);
but it doesn't work ! What the problem in my code and how to delete with multiple condition like for all the strings that end with .tif/.js/.css/.woff.
Thanks
array_search
doesn't work, since each element of the array is an array, and an array doesn't match "*.tif". Besides, array_search
does not support wildcards like *
. An array filter would be the typical approach here:
$sider = array_filter($sider, function (array $element) {
return !preg_match('/\.tif$/i', $element[0]);
});