配列の結合2 - PHPプロ!Q&A掲示板

3148

  • 500P

配列の結合2

質問日時 / 2011年3月11日 11:00    回答数 / 2件

Questioner:  yoshiki  このエントリーをはてなブックマークに追加 

キーワード / 配列   


ちょっとハードルが上がっちゃうんですけど。
表1
AAA
BBB
CCC
DDD

表2
AAA
CCC
DDD

表1+表2
AAA, 2個
BBB, 1個
CCC, 2個
DDD, 2個

表1+表2のように結合したいです。
表1、表2の行数は異なります。
表2にはBBBがありません。

この質問への意見の募集は締め切られ、ポイントは既に配分されました。
意見を投稿することはできますが、ポイントを受け取ることはできません。



ツリー一覧

┣A01mgngmgng# 学校の課題か何かですかね? # であればヒントだけ
┗A02yuu_a0var_dump( array_count_values( array_merge( $a, $b

回答一覧

並び替え:

A01
answerermgngmgng [3月11日 11:49]

# 学校の課題か何かですかね?
# であればヒントだけあげるので自分で考えてくださいね。

考え方は http://www.phppro.jp/qa/3147 と同じですね。
$merge に キーが存在してなければ作成、+1 する。
それだけです。

例えばこういう感じで(というかほぼ答えですけど)

  1. <?php
  2. $a = array('a','b','c','d','a','b');
  3. $merge = array();
  4. foreach($a as $key) {
  5.   if ( !isset($merge[$key]) ) {
  6.     $merge[$key] = 0;
  7.   }
  8.   $merge[$key]++;
  9. }
  10. print_r($merge);

この意見に回答する

ツリーへ TOPへ

A02
answereryuu_a0 [3月13日 01:29]

var_dumparray_count_valuesarray_merge( $a, $b ) ) );

この意見に回答する

ツリーへ TOPへ

<<質問一覧へ



Pick Up Q&A

Q
array_mergeの再帰処理の動作について
 このエントリーをはてなブックマークに追加 
A
>1個になったとき$leftを返しますが、 >このとき、最終的な$leftはnullになるかと思います。 いいえ、最後は「渡された配列をそのまま」返します。要素が2以上あるときとの違いは(並べ替えずに戻るので...

>>続きを読む

再帰関数は最初の内は混乱しますが、非常に上手く使える場面もいずれ出てきます。これを機会に学んでいけるといいですね。

▲解説者:岡本(アシアル株式会社 教育コーディネーター兼 システムエンジニア)