ホームページ > バックエンド開発 > PHPチュートリアル > 多次元配列に同じ要素を追加することに関連する問題

多次元配列に同じ要素を追加することに関連する問題

WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB
リリース: 2016-06-13 12:51:27
オリジナル
943 人が閲覧しました

多次元配列に同じ要素を追加する問題

この投稿は、2013-03-19 12:04:11 に myths621 によって最終編集されました 初投稿、休暇申請の達人
次のように、redis から 5 次元配列を取り出し、加算処理を行う必要があります
<br />
$a = array(<br />
	<br />
		0 => array(<br />
<br />
			0=> array(<br />
			<br />
				"date" => "201201",<br />
				"area"=> array(<br />
					12 => array(<br />
						click => "3",<br />
						traffic => "30"<br />
					)	<br />
				)<br />
			),	<br />
<br />
			1=> array(<br />
			<br />
				"date" => "201202",<br />
				"area"=> array(<br />
					12 => array(<br />
						click => "8",<br />
						traffic => "40"<br />
					),<br />
					8=> array(<br />
						click => "5",<br />
						traffic => "50"<br />
					)<br />
				)<br />
			)	<br />
			<br />
		),<br />
<br />
		1 => array(<br />
		<br />
			0=> array(<br />
			<br />
				"date" => "201201",<br />
				"area"=> array(<br />
					12 => array(<br />
						click => "9",<br />
						traffic => "20"<br />
					),<br />
					8=> array(<br />
						click => "6",<br />
						traffic => "60"<br />
					)<br />
				)<br />
				),<br />
			<br />
			1=> array(<br />
			<br />
				"date" => "201202",<br />
				"area" => NULL<br />
			)<br />
		),<br />
	<br />
	<br />
	);<br />
<br />
ログイン後にコピー


データ処理後、同じ日付であることを前提として、エリア内の同じキーに対応するクリック値とトラフィック値、つまり 0 と 1 の 2 つの大きな配列が追加され、日付が 201001 であることが望まれます。 、エリア内の 12 に対応するクリック値とトラフィック値が処理されます。最後の値は 12 と 50、8 は 6 と 60 に対応し、類推して、成功を処理できるトラバーサルまたはその他の方法を探しています。どうも~!
多次元配列


-----解決策--------------------------------
最終的な結果は何ですか?投稿してください。
------解決策---------
$t = array();<br />
foreach ($a as $k=>$v)<br />
{<br />
	foreach ($v as $k1=>$v1)<br />
	{<br />
		$t[0][$k1]['date'] = $v1['date'];<br />
		foreach ($v1['area'] as $k2=>$v2)<br />
		{<br />
			$t[0][$k1]['area'][$k2]['click'] += $v2['click'];<br />
			$t[0][$k1]['area'][$k2]['traffic'] += $v2['traffic'];<br />
		}<br />
	}<br />
}<br />
echo "<pre class="brush:php;toolbar:false">";<br />
print_r($t);<br />
echo "<pre class="brush:php;toolbar:false">";
ログイン後にコピー


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