php associative array_search奇怪的行为

时间:2014-08-15 00:46:26

标签: php arrays search associative

所以现在这让我很紧张了 我有一个关联数组,我从另一个数组填充:

foreach ($possible_unavailable as $p) {
    $aux[] = array('date' => $p['date'], 'status' => -1);
}
var_dump($aux);

然后我执行以下操作:

foreach ($aux as $pu) {
   var_dump($pu['date']);
   var_dump(array_search($pu['date'], $aux));
}

这是输出:

array(2) {
  [0]=>
  array(2) {
    ["date"]=>
    string(10) "2014-09-01"
    ["status"]=>
    int(-1)
  }
  [1]=>
  array(2) {
    ["date"]=>
    string(10) "2014-09-05"
    ["status"]=>
    int(-1)
  }
}
string(10) "2014-09-01"
bool(false)
string(10) "2014-09-05"
bool(false)


为什么" array_search($ pu [' date'],$ aux)"是不是真的?

1 个答案:

答案 0 :(得分:1)

如果我理解得很好,你试图搜索一个充满数组的数组中的字符串,所以array_search正在将字符串与这样的数组进行比较:

是“2014-09-01”等于数组(“date”=>“2014-09-01”,“status”=> -1)??

显然返回值为false。