2016-03-28 3 views
0

Ich habe dieses Array:Setzen Sie einen Schlüssel von Ende eines Arrays in php

Array 
(
[0] => Array 
    (
     [date] => 2016-03-08 
     [value] => Array 
      (
       [key_1] => Array 
        (
         [test_1] => 1 
         [test_2] => 10 
         [test_3] => 1000 
         [test_4] => 200 
        ) 

       [key_2] => Array 
        (
         [test_1] => 1 
         [test_2] => 15 
         [test_3] => 1500 
         [test_4] => 100 
        ) 

      ) 
) 

Jetzt habe ich ein anderes Array:

Array 
(
    [key_3] => Array 
    (
     [test_1] => 
     [test_2] => 
     [test_3] => 
     [test_4] => 1 
    ) 

) Ich möchte diese letzte Reihe in der ersten hinzufügen Array. Ich versuche es so: array_push($ymlParsedData[]['value'], $a_big_gift); aber nicht funktionieren. Kannst du mir bitte helfen ?

+0

Bitte senden Sie den entsprechenden Teil des Codes, können wir nicht anders helfen. Vielen Dank. – arkascha

+0

Es wird so sein: array_push ($ ymlParsedData [0] ['Wert'], $ a_big_gift); –

+0

um es dynamisch zu machen, müssen Sie das Array loopen und array_push verwenden ($ ymparedData [$ index] ['value'], $ a_big_gift); –

Antwort

1

Sie können $ymlParsedData[] nicht für den Zugriff auf ein bestimmtes Element verwenden, es ist eine Abkürzung für das Verschieben von Daten in ein Array.

können Sie verwenden entweder

// NB! array_push() just adds the values, key 'key_3' is removed 
array_push($ymlParsedData[0]['value'], $a_big_gift); 

oder

// will keep key 'key_3' 
$ymlParsedData[0]['value']['key_3'] = $a_big_gift['key_3']; 

oder

// use array_merge() instead 
$ymlParsedData[0]['value'] = array_merge($ymlParsedData[0]['value'], $a_big_gift); 
1

Eine komplizierte Antwort, aber dies könnte Ihr Problem lösen:

$key_name = array_keys($a_big_gift)[0]; 
$ymlParsedData[0]['value'][$key_name] = $a_big_gift[$key_name]; 

echo '<pre>'; print_r($ymlParsedData); exit; 

Hinweis: Um es dynamisch und für mehr als einen Wert von $a_big_gift zu machen, müssen Sie es loopen und Ihr Ergebnis erzielen.

1

Versuchen Sie, diese

array_push($ymlParsedData[0]['value'], $a_big_gift['key_3']);