2017-01-06 16 views
1

PHP(Codeigniter)には以下のような配列があります。私は国名を使ってそれらをグループ化したい。だから、国のキーの値が外側の配列配列のキーとして値を割り当て、同じキーのレコードをマージする

Array 
(
    [0] => Array 
     (
      [city] => Buenos Aires 
      [country] => Argentina 
     ) 

    [1] => Array 
     (
      [city] => Adelaide 
      [country] => Australia 
     ) 

    [2] => Array 
     (
      [city] => Brisbane 
      [country] => Australia 
     ) 

    [3] => Array 
     (
      [city] => Fremantle 
      [country] => Australia 
     ) 

    [4] => Array 
     (
      [city] => Melbourne 
      [country] => Australia 
     ) 

    [5] => Array 
     (
      [city] => Sydney 
      [country] => Australia 
     ) 

) 

のキーになります私は、国が国ごとに市のリストをキーになりますので、以下のような配列に変換する名前

Array 
(
    [Argentina] => Array 
    (
     [0] => Buenos Aires 
    ) 

    [Australia] => Array 
    (
     [0] => Adelaide 
     [1] => Brisbane 
     [2] => Melbourne 
     [3] => Sydney 
    ) 

) 
+1

は最初のいくつかのコードを表示働くことを願っています。 –

+0

@u_mulder .. forループで多くのことを試しましたが、期待通りに動作しませんでした – hrishi

答えて

1

ここでは、コードです、

$arr = [//your arr]; 

$result = []; // will be your output 

foreach($arr as $k => $v){ 
    $result[$v['country']][] = $v['city']; 
} 

私は、これは

+0

ありがとうございます。それは私が望むように動作します。 – hrishi

+0

ようこそ!この解決策があなたの問題を解決するなら、私の答えを受け入れてください。 – rahulsm

関連する問題