110 Stimmen

Element in assoziatives Array in PHP einfügen

Ich habe versucht, ein Element in ein assoziatives Array wie dieses zu schieben:

$new_input['name'] = array(
    'type' => 'text', 
    'label' => 'First name', 
    'show' => true, 
    'required' => true
);
array_push($options['inputs'], $new_input);

Anstelle von "Name" als Schlüssel wird jedoch eine Nummer eingefügt. Gibt es eine andere Möglichkeit, dies zu tun?

156voto

webbiedave Punkte 47260
$options['inputs']['name'] = $new_input['name'];

76voto

Anstelle von array_push() verwenden array_merge()

Es führt zwei Arrays zusammen und kombiniert ihre Elemente in einem einzigen Array.

Beispiel Code -

$existing_array = array('a'=>'b', 'b'=>'c');
$new_array = array('d'=>'e', 'f'=>'g');

$final_array=array_merge($existing_array, $new_array);

Es gibt das resultierende Array in final_array zurück. Und die Ergebnisse des resultierenden Arrays sind -

array('a'=>'b', 'b'=>'c','d'=>'e', 'f'=>'g')

Bitte überprüfen Sie diese Link um auf mögliche Probleme aufmerksam zu werden.

25voto

Ajmal Salim Punkte 3913

Dies ist eine coole Funktion

function array_push_assoc($array, $key, $value){
   $array[$key] = $value;
   return $array;
}

Verwenden Sie einfach

$myarray = array_push_assoc($myarray, 'h', 'hello');

Credits & Erläuterung

8voto

ebnibrahem Punkte 69

Ich benutze php5.6

Code :

$person = ["name"=>"mohammed", "age"=>30];

$person['addr'] = "Sudan";

print_r($person) 

Ausgabe

Array( ["name"=>"mohammed", "age"=>30, "addr"=>"Sudan"] )

7voto

Curtis Punkte 3822

Die Lösung von WebbieDave wird funktionieren. Wenn Sie nichts überschreiben wollen, was vielleicht schon unter "name" steht, können Sie auch so vorgehen:

$options['inputs']['name'][] = $new_input['name'];

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X