2017-08-31 22 views
0

UPDATED以下の提案を試した後、正しい効果が得られますが、それを何度も入力します。2つの配列をキーに基づいてマージ

こんにちは、私はこれが何をするか、次のコードを持っているが、二つの配列を作成し、その後1にそれらをブレンド:

$ list_claimed_usersの=のGET_USERS(「meta_keyは=主張」);

foreach ($list_claimed_users as $list_claimed_user) { 
    $a = get_user_meta($list_claimed_user->ID , "claimed"); 
    $nicknames[] = get_user_meta($list_claimed_user->ID , "nickname"); 
    $unserialized[] = unserialize($a[0]); 

    foreach($unserialized as $key => &$metadata) array_push($metadata, $nicknames[$key]); 

} 
$claimed_array[] = $unserialized; 

print_r($claimed_array); 

が、それは今でループし、各ループのために余分な時間に$データを追加し

Array 
(
    [0] => Array 
     (
      [0] => Array 
       (
        [0] => 31.08.2016 
        [1] => prize8 
        [2] => Array 
         (
          [0] => test5 
         ) 

        [3] => Array 
         (
          [0] => test5 
         ) 

        [4] => Array 
         (
          [0] => test5 
         ) 

        [5] => Array 
         (
          [0] => test5 
         ) 

       ) 

      [1] => Array 
       (
        [0] => 31.07.2017 
        [1] => prize7 
        [2] => Array 
         (
          [0] => test6 
         ) 

        [3] => Array 
         (
          [0] => test6 
         ) 

        [4] => Array 
         (
          [0] => test6 
         ) 

       ) 

      [2] => Array 
       (
        [0] => 31.08.2017 
        [1] => prize5 
        [2] => Array 
         (
          [0] => test7 
         ) 

        [3] => Array 
         (
          [0] => test7 
         ) 

       ) 

      [3] => Array 
       (
        [0] => 21.08.2017 
        [1] => prize6 
        [2] => Array 
         (
          [0] => test8 
         ) 

       ) 

     ) 

) 

simplierの方法にがある場合ならば、誰もが2をマージするための最良の方法をアドバイスしてもらえ元の配列を作成するときにこれを達成してください。

すべてのヘルプは非常ニックネームとメタデータを検索した後

+1

この種のもののために作られたPHPには、array_mergeメソッドがあります。 http://php.net/manual/en/function.array-merge.php – Fyllekanin

答えて

0

を理解されるだろうが、$claimed_arrayに結果を追加する前に、あなたが行うことができます:

foreach($a as $key => &$metadata) array_push($metadata, $nicknames[$key]); 

それからちょうど$claimed_array$aを追加します。

$claimed_array[] = $a; 
+0

悪いことにセクシーな男 – Dgeorgex000000

+0

私は上記のように次のようにしました 警告:array_push()パラメタ1は配列になると期待していますが、上記のポストではメジャーではないので、私はメタデータをシリアライズしていますので、 – Dgeorgex000000

関連する問題