发布网友 发布时间:2022-04-06 04:07
共2个回答
热心网友 时间:2022-04-06 05:36
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维数组。
热心网友 时间:2022-04-06 06:54
楼上回答在理,二维数组 键值 ,你都占用了 7 和 yes, 3是没地方存放的.
不过 你要想 array[7] = yes ,array[8] = cool 并且 两个值都能表现出 3 的话,你可以把 3 用特殊符号连接到 值里面去 ,类似 array[7] = yes-3 ,array[8] = cool-3,这样你获取到值以后,在以 - 分割, 后面那一位 就是你要的主键咯