如何获取数组数组中的值的键?

时间:2012-01-05 21:23:35

标签: php arrays search

我无法解决这个问题。请帮我。这是数组:

$arr = array("data" => array(
                    array("id" => "5451"),
                    array("id" => "45346346")
                    ));

例如,如何找到ID 45346346的密钥?

$key = array_search($arr['data'], 45346346);

我试过这个但是没有用。

我正在尝试删除该数组行。我猜我可以用unset($ key)

来做到这一点

1 个答案:

答案 0 :(得分:1)

你有一个数组数组。 $arr['data']是一个包含2个值的数组。这些值都是数组。 array_search不起作用,因为45346346与数组不匹配。

你可以做自己的搜索,如下所示:

function find_in_array($arr, $val){
   $found = false;
   foreach($arr as $k=>$x){
      if(array_search($val, $x) !== FALSE){
         $found = $k;
         break;
      }
   }
   return $found;
}

然后你可以这样做:$key = find_in_array($arr['data'], 45346346);。这将返回1,即'id' => 45346346内包含$arr['data']的数组的索引。

DEMO:http://codepad.org/pSxaBT9g