PHPの配列配列変換の問題

WBOY
リリース: 2016-06-23 14:06:13
オリジナル
1122 人が閲覧しました


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 は関数を取得するための主なものです

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート