php二维转一维数组
① php多维数组问题,,高分求高手帮帮,,
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维数组。
② php一维数组变二维数组
<?php
$a=array('a0'=>'0001','b0'=>'2','a1'=>'0003','b1'=>'6');
$array=change($a,1);
print_r($array);
functionchange($array,$num){
$b=array();
for($i=0;$i<=$num;$i++){
$array=array();
$array['id']=empty($a['a'.$i])?"":$a['a'.$i];
$array['num']=empty($a['b'.$i])?"":$a['b'.$i];
$b[]=$array;
}
return$b;
}
?>
基本实现了你所要的功能
③ php 一个多维数组合并为一维数组
<?php
function array_multi2single($array)
{
static $result_array=array();
foreach($array as $value)
{
if(is_array($value))
{
array_multi2single($value);
}
else
$result_array[]=$value;
}
return $result_array;
}
一个多维数组转一维数组的函数
④ PHP 多维固定数组转换成二维数组
functiondofor_child($array,$list,$k){
if(is_array($array)){
$k++;
foreach($arrayas$key=>$ar){
if(!is_array($ar)){
$list[$k][$key]=$ar;
}else{
returndofor_child($ar,$list,$k);
}
}
}
return$list;
}
$arr=dofor_child($array1,$list,-1);
var_mp($arr);
exit;
⑤ php 如何取二维数组中某个值,并组合成另一个一维数组进行implode
<?php
$array=array('0'=>array('name'=>宽喊'aaa'慎拍野,'id'=>'22222'),'1'=>array('name'=>'bbb','id'=>'333'));
$new=array();
foreach($arrayas$v){
$new[]=$v['id'];
}
$num贺竖=join(',',$new);
echo$num;
?>