如何把
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 ; 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是主要要获得的函数