php如何在多维数组中搜索给定的值,如果成功则返回相应的键名
假设数组为$arr=array('a'=>1,array('b'=>2),'c'=>3,array(array('d'=>4),'e'=>5))如果给定值是4,怎么得出在...
假设数组为$arr = array('a' => 1, array('b' => 2), 'c' => 3, array(array('d' =>4), 'e' => 5))
如果给定值是4,怎么得出在$arr中对应的键名 展开
如果给定值是4,怎么得出在$arr中对应的键名 展开
2个回答
展开全部
<?php
$arr = array('a' => 1, array('b' =>2), 'c' => 3, array(array('d' =>4), 'e' => 5));
echo searchKey($arr,4);
function searchKey($array,$value){
foreach($array as $key=>$row){
if(!is_array($row)){
if($row == $value){
$r = $key;
return $key;
}
}else{
$r = searchKey($row,$value);
if($r != -1){
return $r;
}
}
}
return -1;
}
?>
热心网友回答你的那个会有问题的,你可以把1 2 3 4 5都试验一下,而且他那个只支持搜索4.
我这已经优化过了,没有问题。
网采纳。
2014-12-26
展开全部
$arr = array(
'a' => 1,
array('b' => 2),
'c' => 3,
array(array('d' =>4), 'e' => 5));
function arr_key($arr){
foreach($arr as $k=>$v){
if(is_array($v)){
arr_key($v);
}elseif($v==4){
echo $k;
}
}
}
arr_key($arr);
'a' => 1,
array('b' => 2),
'c' => 3,
array(array('d' =>4), 'e' => 5));
function arr_key($arr){
foreach($arr as $k=>$v){
if(is_array($v)){
arr_key($v);
}elseif($v==4){
echo $k;
}
}
}
arr_key($arr);
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询