2016-03-25 6 views
-8

her altdizilim başlangıcında dizi değerlerini ekleyin dizi:

$array1 = Array (
    [0] => Array (
      [0] => 2 
      [1] => 6 
      [2] => 15 
      [3] => 6    
    ) 
    [1] => Array (
      [0] => 5 
      [1] => 8 
      [2] => 6 
      [3] => 12 

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

ikinci dizi:

$array2 = Array (
    [0] => Outlook 
    [1] => Temp 
    [2] => Humidity   
) 

Beklenen çıkışı (/ yeni değerler değiştirilmiş) Kalın:

$array1 = Array (
    [0] => Array (
      [0] => 'Outlook' 
      [1] => 2 
      [2] => 6 
      [3] => 15 
      [4] => 6   
    ) 
    [1] => Array ( 
      [0] => 'Temp' 
      [1] => 5 
      [2] => 8 
      [3] => 6 
      [4] => 12   
    ) 
    [2] => Array (
      [0] => 'Humidity' 
      [1] => 2 
      [2] => 5 
      [3] => 5 
      [4] => 5    
    ) 
)
+2

Olası kopyalar [PHP başka bir dizi ekler (dizi değil \ _push veya +)] (http://stackoverflow.com/questions/4268871/php-append-one-arr ay-to-başka-değil-dizi-itme-veya) – izk

+0

Bunu yaparken nerede sıkışmış? – Rizier123

+0

Bunu nasıl yapabildiğimi anlayamıyorum İki diziyi nasıl birleştirdiğimi – ali

cevap

1

Sen anonymous function ve array_unshift() ile array_walk() kullanabilirsiniz:

array_walk 
(
    $array1, 
    function(&$row, $key, $kind) 
    { 
     array_unshift($row, $kind[$key]); 
    }, 
    $array2 
); 

eval.in demo

array_walk() özel bir işlev kullanarak bir dizi değiştirin. Callable işlev argümanları dizi öğesidir (&'u kullanarak by reference'u ayarlamamız gerektiğini unutmayın), dizi anahtarı (isteğe bağlı) ve isteğe bağlı bir özel parametre (bizim durumumuzda $array2). array_unshift() ile fonksiyonun içinde anahtarıyla seçerek, $array2 maddesini her bir öğeye ekleyebilirsiniz.


ait
+0

efendim işe yaramaz gibi çalıştığından bahsetmek ofset hatası – ali

+0

Çalışıyor. [Demo] 'ya bakın (https://eval.in/542212). – fusion3k

+0

#fusiion 3k efendim gerçekten çok fazla – ali

İlgili konular