$a = array(
'k1' => array('aa' => 'v1','bb' => 10),
'k2' => array('aa' => 'v2', 'bb' => 20),
'k3' => array('aa' => 'v3', 'bb' => 30),
'k4' => array('aa' => 'v4','bb' => 30 ),
)
$b='v3';php 有没有系统函数可以直接得到结果的
根据 "v3" 或 'aa' => 'v3' 返回 "k3"
'k1' => array('aa' => 'v1','bb' => 10),
'k2' => array('aa' => 'v2', 'bb' => 20),
'k3' => array('aa' => 'v3', 'bb' => 30),
'k4' => array('aa' => 'v4','bb' => 30 ),
)
$b='v3';php 有没有系统函数可以直接得到结果的
根据 "v3" 或 'aa' => 'v3' 返回 "k3"
if(in_array($b, $row)) {
return $k;
}
}
$a = array(
'k1' => array('aa' => 'v1','bb' => 10),
'k2' => array('aa' => 'v2', 'bb' => 20),
'k3' => array('aa' => 'v3', 'bb' => 30),
'k4' => array('aa' => 'v4','bb' => 30 ));
$b='v1';
function find($a,$b){
$flag=0;
foreach($a as $key=>$value){
if(is_array($value)){
foreach($value as $key1=>$value1){
if($value1==$b){
$flag=1;
break;
}
}
}
}
if($flag){
return $a[$key{0}.$b{1}];
}else{
return "not found!";
}
}
echo "<pre>";
print_r(find($a,$b));
echo "</pre>";
'k1' => array('aa' => 'v1','bb' => 10),
'k2' => array('aa' => 'v2', 'bb' => 20),
'k3' => array('aa' => 'v3', 'bb' => 30),
'k4' => array('aa' => 'v4','bb' => 30 ),
);
$b = 'v3';$c = array_filter($a, function($r) use($b) { return in_array($b, $r);});
//php < 5.3
$c = array_filter($a, create_function('$r', "return in_array('$b', \$r);"));echo key($c);
foreach($a as $k=>$v) $ar[$v['aa']]=$k;
echo $ar[$b];
或者用 #3 的直接遍历也可以