2017-08-31 241 views
0

嘗試下面的建議後更新它現在給出正確的影響,但多次輸入它。基於密鑰合併兩個陣列

您好我有下面的代碼這樣做是創建兩個數組,然後混合起來成一個:

$ 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方式在最初創建數組時實現這一點。

任何幫助將非常感激

+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]); 

然後,只需添加$a$claimed_array

$claimed_array[] = $a; 
+0

我試試它非常感謝你性感的男人 – Dgeorgex000000

+0

嘿,我做了以下提到 並得到以下錯誤:Warning:array_push()期望參數1是數組,但在上面的帖子中沒有涉及到,當我得到聲明的元組的序列化,所以我反序列化它...虐待更改上面的代碼以顯示 – Dgeorgex000000