PHP array_search()没有返回正确的索引

时间:2012-08-18 22:58:39

标签: php arrays

我想在文件中找到某一行。该文件为http://cpcheats.co/pin-tracker/swf/coffee.flr。我正在使用php函数search_array(),但它没有给我正确的密钥。此代码只返回文件的第一行:

$newurl = file_get_contents("http://cpcheats.co/pin-tracker/swf/coffee.flr");
$array = explode("\n",$newurl);
$key = array_search('triggers_mc.pin_mc.triggerFunction = function () {', $array);
echo $array[$key];

有谁知道为什么会这样,或者解决这个问题?

3 个答案:

答案 0 :(得分:3)

这种情况正在发生,因为您在搜索字词的开头缺少4个空格字符。

$key = array_search('    triggers_mc.pin_mc.triggerFunction = function () {', $array);

工作正常。

如果您不想在搜索字词中包含空格,可能的解决方案是循环遍历$array并在调用array_search之前修剪这些值。

答案 1 :(得分:1)

在搜索值前添加四个空格。

答案 2 :(得分:0)

  

Array_search()如果在数组中找到,则返回针的键,否则返回FALSE。

     

(int)FALSE == 0

您的$needle出了问题,array_search返回false,因此$key = 0;