php多维数组问题,,如何只知道一个值,然后调用类别名?
array(2=>array(5=>'ok',6=>'good'),3=>array(7=>'yes',8=>'cool'),4=>array(9=>'look'));因...
array(
2=>array(5=>'ok',6=>'good'),
3=>array(7=>'yes',8=>'cool'),
4=>array(9=>'look')
);
因为说有键名不会重复,所以我直接调用 array[7]即可显示yes
并且带有主键名3
这个如何实现啊??我感觉很有难度啊。。。 展开
2=>array(5=>'ok',6=>'good'),
3=>array(7=>'yes',8=>'cool'),
4=>array(9=>'look')
);
因为说有键名不会重复,所以我直接调用 array[7]即可显示yes
并且带有主键名3
这个如何实现啊??我感觉很有难度啊。。。 展开
2个回答
2012-03-03 · 知道合伙人软件行家
关注
展开全部
1、二维转一维:
function fixArray($r,$k)
{
$out = array();
foreach ($r as $key=>$val) {
if (is_array($val)){
$out = array_merge($out, fixArray($val,$key));
} else{
$out["'$key'"] = $val;//$val;
}
}
return $out;
}
$arr =array(
'2'=>array('5'=>'ok','6'=>'good'),
'3'=>array('7'=>'yes','8'=>'cool'),
'4'=>array('9'=>'look')
);
$output = fixArray($arr,"");
print_r($output);
2、你说的带主键名3,基本上不可能实现,因为如果键名相同,则值会互相覆盖,或者还是需要用2维数组。
function fixArray($r,$k)
{
$out = array();
foreach ($r as $key=>$val) {
if (is_array($val)){
$out = array_merge($out, fixArray($val,$key));
} else{
$out["'$key'"] = $val;//$val;
}
}
return $out;
}
$arr =array(
'2'=>array('5'=>'ok','6'=>'good'),
'3'=>array('7'=>'yes','8'=>'cool'),
'4'=>array('9'=>'look')
);
$output = fixArray($arr,"");
print_r($output);
2、你说的带主键名3,基本上不可能实现,因为如果键名相同,则值会互相覆盖,或者还是需要用2维数组。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询