如何把
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是主要要獲得的函數