配列変換マージ

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


Array ( [0] => Array ( [id] => 9 [ti] => me ) [1] => Array ( [id] => 10 [ti] => we ) [2] => 配列( [id] => 11 [ti] => 中央 )[3] => 配列( [id] => 11 [ti] => 国 ))
この変換ではIDをKEYとして一次元配列に変換できるのですが、同じものをマージする場合はどうすればよいでしょうか?
1次元配列を取得した場合は、取得した1次元配列を以下とマージし、KEYが等しい場合は値を置き換えます
Array ( [7] => love [8] => me [9] ] => 11 [10] => 33333 [11] => Zhong [12] => Hua )

現在、配列の練習中に 2 つの問題が発生しています。専門家の指導をお願いします。ほぼ一日かけて作業しましたが、やはり失敗しました。 。 。 -_-


ディスカッション (解決策) への返信

$a = Array (  Array( 'id' => 9,  'ti' => '我' ),  Array( 'id' => 10, 'ti' => '们' ),  Array( 'id' => 11, 'ti' => '中' ),  Array( 'id' => 11, 'ti' => '国' ));$res = array();foreach($a as $r) {  if(isset($res[$r['id']])) $res[$r['id']] .= $r['ti'];  else $res[$r['id']] = $r['ti'];}print_r($res);
ログイン後にコピー
ログイン後にコピー
Array(    [9] => 我    [10] => 们    [11] => 中国)
ログイン後にコピー
ログイン後にコピー

$a = Array (  Array( 'id' => 9,  'ti' => '我' ),  Array( 'id' => 10, 'ti' => '们' ),  Array( 'id' => 11, 'ti' => '中' ),  Array( 'id' => 11, 'ti' => '国' ));$res = array();foreach($a as $r) {  if(isset($res[$r['id']])) $res[$r['id']] .= $r['ti'];  else $res[$r['id']] = $r['ti'];}print_r($res);
ログイン後にコピー
ログイン後にコピー
Array(    [9] => 我    [10] => 们    [11] => 中国)
ログイン後にコピー
ログイン後にコピー


モデレータ、申し訳ありませんが、$res[$r['id']] .= $r[ ' ti'];中央の記号の機能は何ですか? $res が次の配列とマージされる場合、同じ KEY が見つかった場合、その値は置き換えられます。それはできるでしょうか?
配列 ([7] =>爱[8] =>我[9] => 11 [10] => 33333 [11] =>中 [12] =>华)

ははは私はマージに常に array_merge() を使用してきましたが、以前は + 記号を使用するだけでした。 。 。 。

関連ラベル:
ソース:php.cn
前の記事:サーバー正式環境パフォーマンステスト nginx-php パフォーマンス向上のブレークスルーについてのヒントを教えてください。 次の記事:Smarty テンプレートは、HTML の