2017-01-02 9 views
-2
[0] => Array 
    (
     [0] => Member ID 
     [1] => Name 
     [2] => Age 
     [3] => Relationship 
     ) 

[1] => Array 
    (
     [0] => 1001 
     [1] => Swift 
     [2] => 34 
     [3] => Policy Holder 
    ) 

[2] => Array 
    (
     [0] => 5259 
     [1] => John 
     [2] => 31 
     [3] => Son 
    ) 

私は上記と同様の配列を持っていますが、配列インデックス0の値が他のインデックスの値と同じようにマージしたいキーと値を作ることによってPHP配列をマージする

Member ID ('1001', '5259'), 
Name ('Swift', 'John'), 
    Age ('34','31') and 
    Relationship ('Policy Holder','Son'). 

ように私もarray_combineが問題を抱えていた、array_mergeを試してみましたが、所望の結果を得ることができませんでした。

+0

、ご希望の出力を表示してください。 –

+0

メンバーID( '1001'、 '5259')、 名前( 'Swift'、 'John')、 年齢( '34'、'31 ')および リレーションシップ('ポリシー所有者 '、'息子 ')。私はこれを出力したい。メンバーID、名前、年齢、および関係はここに配列されています。 –

+1

array_mergeまたはarray_combineはあなたを助けません。いくつかの簡単なforeachループを書いて、あなたの出力を形成するようにしてください。あなたがいくつかのコードを投稿するのに苦労しているなら – omxv

答えて

1

このような特定のタスクには読み込み機能はありません。特定の意味では、のロジックはどのようにのデータを処理することは任意です。だから、どういうふうにそのデータをどうすればいいのか説明しなければなりません。

独自のルーチンを作成する必要があります。この単純な例を見てみましょう:

<?php 
$output = []; 
$input = [ 
    [ 
     'Member ID', 
     'Name', 
     'Age', 
     'Relationship', 
    ], 
    [ 
     1001, 
     'Swift', 
     34, 
     'Policy Holder', 
    ], 
    [ 
     5259, 
     'John', 
     31, 
     'Son', 
    ] 
]; 

$keys = array_shift($input); 
foreach ($input as $set) { 
    foreach ($set as $index=>$value) { 
     $output[$keys[$index]][] = $value; 
    } 
} 

var_dump($output); 

出力は明らかである:

array(4) { 
    'Member ID' => 
    array(2) { 
    [0] => 
    int(1001) 
    [1] => 
    int(5259) 
    } 
    'Name' => 
    array(2) { 
    [0] => 
    string(5) "Swift" 
    [1] => 
    string(4) "John" 
    } 
    'Age' => 
    array(2) { 
    [0] => 
    int(34) 
    [1] => 
    int(31) 
    } 
    'Relationship' => 
    array(2) { 
    [0] => 
    string(13) "Policy Holder" 
    [1] => 
    string(3) "Son" 
    } 
} 
関連する問題