Home > Article > Backend Development > php Array数组转换问题
如何把
Array( [strwarenum] => Array ( [0] => 1 [1] => 1 ) [strwareid] => Array ( [0] => 80 [1] => 79 ))
Array( [config_id] => [strwareid] => ,78,80 [strwarenum] => ,1,1 [config_name] => [config_desc] => [diycat_id] => )
设你原来的数组为$a,建一个你需要包含所有key的空数组$b(你的例子有些key在$a中没有,所以要另建)
不知道你的 78这个值从何而来,暂时当你是把79打错了
我懒得写赋值部分了,还要改你的代码,麻烦,自己写吧
foreach($b as $k => $v){ $a[$k][]=''; $v=array_reverse($a[$k]);}var_export($b);
非常抱歉,实在不会把
Array( [strwarenum] => Array ( [80] => 1 [78] => 1 ) [strwareid] => Array ( [0] => 80 [1] => 78 ) [config_id] => [config_name] => [config_desc] => [diycat_id] => )
Array( [config_id] => [strwareid] => ,78,80 [strwarenum] => ,1,1 [config_name] => [config_desc] => [diycat_id] => )
$arr=你的数组;foreach($arr as &$v){ if(is_array($v)) $v=','.join(',',$v);}print_r($arr);
PHP code?12345$arr=你的数组;foreach($arr as &$v){ if(is_array($v)) $v=','.join(',',$v);}print_r($arr);
非常感谢,解决了
$ar=array("strwarenum"=>array(1,1),"strwareid"=>array(80,79)); function change($ar){ $arr=array(); foreach($ar as $key=>$value){ if($key=="strwareid"){ for($i=count($ar[$key])-1;$i>=0;$i--){ $s=$s.",".$ar[$key][$i]; } } if($key=="strwarenum"){ for($i=count($ar[$key])-1;$i>=0;$i--){ $m=$m.",".$ar[$key][$i]; } } } $arr['config_id']=''; $arr['strwareid']=$s; $arr['strwarenum']=$m; $arr['config_name']=''; $arr['config_desc']=''; $arr['diycat_id']=''; return $arr; } echo "<pre class="brush:php;toolbar:false">"; print_r(change($ar)); echo "";Array( [config_id] => [strwareid] => ,79,80 [strwarenum] => ,1,1 [config_name] => [config_desc] => [diycat_id] => )
呃,还有连带关系?strwarenum的key和strwareid的值对应么?给两个不同的strwarenum的值看看结果是怎样
另外,你给的数据能不能写成定义形式啊 "strwarenum" => Array...,还要我逐个去改啊?!
居然结贴了……如果有对应关系,上面的各楼包括我写的那个都不能用
PHP code?123456789101112131415161718192021222324252627282930313233343536 $ar=array("strwarenum"=>array(1,1),"strwareid"=>array(80,79)); function change($ar){ $arr=array(……
其实strwarenum 是数量可以不考虑。对应每个strwareid为1也可以
strwareid是主要要获得的函数