我的阵列打印看起来像这样 的print_r($ myArray的);
Array
(
[http://link_to_the_file/stylename2.css] => Array
(
[mime] => text/css
[media] =>
[attribs] => Array
(
)
)
[http://link_to_the_file/stylename1.css] => Array
(
[mime] => text/css
[media] =>
[attribs] => Array
(
)
)
[http://link_to_the_file/stylename5.css] => Array
(
[mime] => text/css
[media] =>
[attribs] => Array
(
)
)
)
我需要找到stylename 2和5并取消设置它们但我想只通过它们的名称而不是完整的数组键找到它们。所以我将搜索条件放在数组中。
$findInArray = array('stylename2.css','stylename5.css');
foreach($myArray as $path => $file ){
// if $path contains a string from $findInArray
unset $myArray [$path];
}
最好的方法是什么?我尝试了array_key_exists但它只匹配精确的键值。 谢谢!
答案 0 :(得分:1)
试试这个:
$findInArray = array('stylename2.css','stylename5.css');
foreach($myArray as $path => $file ){
foreach($findInArray as $find){
if(strpos($path, $find) !== false)
unset($myArray[$path]);
}
}
答案 1 :(得分:1)
你可以使用PHP in_array()
函数。
foreach($myArray as $path => $file) {
if(in_array(basename($path), $findInArray)) {
unset($myArray[$path]);
}
}
答案 2 :(得分:1)
foreach($myArray as $path => $file ){
$filename = basename($path);
if (in_array($filename, $findInArray)) {
unset($myArray[$path]);
}
}