PHP数组搜索不工作(返回空字符串)

PHP数组搜索不工作(返回空字符串),php,arrays,sorting,Php,Arrays,Sorting,我试图检查图像的文件名是否包含“封面”。不知怎的,这对我来说已经不起作用了(相当肯定它已经起作用了)。我复制了函数中不起作用的部分 $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"); 这对我不起

我试图检查图像的文件名是否包含“封面”。不知怎的,这对我来说已经不起作用了(相当肯定它已经起作用了)。我复制了函数中不起作用的部分

$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)
有人能帮忙吗?为什么这个简单的脚本不起作用

我还尝试在数组()中使用
,但这也不起作用。

数组搜索()函数在数组中搜索值并返回键

array_search(key_value,array)
循环$cov数组,每次获取一个键,并使用$name数组进行检查

foreach($cov as $i => $cov_s){
 if(in_array($cov_s, $name)){
  return $name[array_search($cov_s, $name)];
 }
}
return $name[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;
}

您在哪里提供要搜索的文件名!我发现它没有位置。
array\u search
的第一个参数应该是要在第二个数组中搜索的字符串(文件名)。您需要翻转
指针和
干草堆,然后将两个参数作为数组传递。RTM,。文件名在$name数组中,$cov数组包含具有不同文件结尾的搜索字符串。难道不能在$name中搜索所有$cov元素,因此它将返回$name中第一个结果的索引吗?(索引3)您正在另一个数组中搜索一个数组,当然找不到该数组,因此
array\u search()
返回FALSE。所以在第一行:
print_r(数组搜索($cov,$name))你什么都看不到,因为你得到的是假的。在第二行中,FALSE被转换为0,您将得到第一个元素。但我还是不明白你到底想干什么。预期产量是多少?