2016-12-14 18 views
0

私はPHPの配列を持っています。php array combine elements

Array 
(
    [0] => Array 
     (
      [1] => 10 
      [2] => 5 
     ) 

    [1] => Array 
     (
      [1] => 1 
      [2] => 2 
     ) 

) 

私はこれらのようにそれを変換したい:

Array 
(
    [0] => Array 
     (
      [1] => 10 
      [2] => 1 
     ) 
    [1] => Array 
     (
      [1] => 5 
      [2] => 2 
     ) 

) 

、最終的には私はベース文字列にこれらのキーベースの番号を変更する予定。このように:

$data = array(
      array(
       'title' => 'My title' , 
       'name' => 'My Name' , 
       'date' => 'My date' 
      ), 
      array(
       'title' => 'Another title' , 
       'name' => 'Another Name' , 
       'date' => 'Another date' 
      ) 
     ); 

私はuse.Thanksは$ data配列トラバース

+2

参照:http://stackoverflow.com/q/797251ところで – Rizier123

+0

感謝。それは私のニーズに合った@クリスのソリューション –

答えて

2

前に、あるarray_walk使用したり、foreachのだろうどのようなアプローチについて混乱します。

$o = []; 
array_walk($data, function($v) use(&$o) 
{ 
    foreach($v as $k => $value) 
    { 
    $o[$k][] = $value; 
    } 
}); 
var_dump($o); 

出力:

array(3) { 
    ["title"]=> 
    array(2) { 
    [0]=> 
    string(8) "My title" 
    [1]=> 
    string(13) "Another title" 
    } 
    ["name"]=> 
    array(2) { 
    [0]=> 
    string(7) "My Name" 
    [1]=> 
    string(12) "Another Name" 
    } 
    ["date"]=> 
    array(2) { 
    [0]=> 
    string(7) "My date" 
    [1]=> 
    string(12) "Another date" 
    } 
} 
+0

それは働くことをありがとう。どのようにキーベースの文字列ベースに変換しますか。例: '[0] =>配列 ( 'タイトル番号' => 10、 '数量= = 1 )' –

+0

新しい配列を作成するだけです。 –