重要なお知らせ

「教えて! goo」は2025年9月17日(水)をもちまして、サービスを終了いたします。詳細はこちら>

【GOLF me!】初月無料お試し

いつもお世話になります。
PHPで多次元配列の入れ替えについて悩んでおります。
以下のようなデフォルトの配列から、整形後の配列
へ変換したいのですが、どのように扱ってよいか
頭が回らず困っています。
2次元目のクラスが等しいもののidをキーとして、
名前を値としたいのですが。。。
どうぞ宜しくお願いします(>へ<)


//デフォルトの配列
Array
(
  [0] => Array
    (
      [id] => 1
      [class] => A
      [name] => 佐藤
    )

  [1] => Array
    (
      [id] => 2
      [class] => A
      [name] => 山下
    )

  [2] => Array
    (
      [id] => 3
      [class] => B
      [name] => 田中
    )

  [3] => Array
    (
      [id] => 4
      [class] => B
      [name] => 高橋
    )
)


//整形後の配列
Array
(
  [A] => Array
    (
      [1] => 佐藤
      [2] => 山下
    )
    
  [B] => Array
    (
      [3] => 田中
      [4] => 高橋
    )
    
)

A 回答 (1件)

$arr2 = array();


foreach( $arr1 as $v )$arr2[$v["class"]][$v["id"]] = $v["name"];

で済むかと思います。
$arr1は元の配列、$arr2は整形後の配列です。
    • good
    • 0
この回答へのお礼

UmJammerさま

迅速なご回答ありがとうございます。
お礼が遅くなり申し訳ございません。
大変勉強になりました、新たな気づきがありました。
心より感謝致します^^

お礼日時:2008/10/06 17:53

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!