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 として、必要なキーをすべて含む空の配列を構築します$b (あなたの例では、いくつかのキーが $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 コード?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 のキーは strwareid の値に対応していますか? 2つの異なるstrwarenum値を与えて結果がどうなるかを確認してください
また、あなたが私に与えたデータは、定義形式「strwarenum」=>配列で書くことができますか...、それを1つずつ変更してほしいですか? !
PHP code?123456789101112131415161718192021222324252627282930313233343536 $ar=array("str > 配列(1,1) ," strwareid"=>array(80,79)); function change($ar){ $arr=array(...
実際、strwarenum は数量であり、無視できます。それぞれ 1 にすることもできます。 strwareid は関数を取得するための主なものです