我正在尝试检查图片的文件名是否包含“封面”。不知何故,这停止了我的工作(很确定它已经工作)。我复制了我的功能部分无法正常工作。
$name=array("_IMG8555.jpg", "_IMG7769.jpg", "_IMG8458.jpg", "Cover.jpg", "_IMG7184.jpg");
$cov=array("Cover.png","Cover.jpg","Cover.jpeg", "cover.png","cover.jpg","cover.jpeg");
这对我不起作用:
print_r(array_search($cov, $name)); //Returns empty String
print_r($name[array_search($cov, $name)]); //Returns first element of the name Array
此外,我添加了一个测试字符串,以确保搜索的字符串与搜索值不相同。
print_r($name[3]===$cov[1]); //Returns true(1)
有人可以帮忙吗?为什么这个简单的脚本不起作用?
我也尝试使用in_array()
,但这也无效。
答案 0 :(得分:0)
array_search()函数在数组中搜索值并返回键
foreach($cov as $i => $cov_s){
if(in_array($cov_s, $name)){
return $name[array_search($cov_s, $name)];
}
}
return $name[0];
循环你的$ cov数组并一次获得一个键并使用$ name array
进行检查{{1}}
答案 1 :(得分:0)
试试这段代码。
$name=array("_IMG8555.jpg", "_IMG7769.jpg", "_IMG8458.jpg", "Cover.jpg", "_IMG7184.jpg");
$cov=array("Cover.png","Cover.jpg","Cover.jpeg", "cover.png","cover.jpg","cover.jpeg");
foreach($cov as $c){
if(array_search($c,$name)){
//Do your success function
return true;
}
else
return false;
}