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?

5voto

thetaiko Punkte 7748

Si $new_input mehr als nur ein 'name'-Element enthalten, können Sie Folgendes verwenden array_merge .

$new_input = array('name'=>array(), 'details'=>array());
$new_input['name'] = array('type'=>'text', 'label'=>'First name'...);
$options['inputs'] = array_merge($options['inputs'], $new_input);

3voto

Steven H Punkte 337

Die Antwort von Curtis kam dem, was ich brauchte, sehr nahe, aber ich habe sie ein wenig abgeändert.

Wo er verwendet wurde:

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

Ich habe:

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

Hier ist mein aktueller Code mit einer Abfrage aus einer DB:

while($row=mysql_fetch_array($result)){ 
    $dtlg_array[]['dt'] = $row['dt'];
    $dtlg_array[]['lat'] = $row['lat'];
    $dtlg_array[]['lng'] = $row['lng'];
}

Danke!

2voto

vineet Punkte 12507

Ändern Sie einfach einige Schnipsel (verwenden Sie die Funktion array_merge): -

  $options['inputs']=array_merge($options['inputs'], $new_input);

1voto

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

1voto

Henry Punkte 1083

Es gibt einen besseren Weg, dies zu tun:

Wenn das Array $arr_options das vorhandene Array enthält.

$arr_new_input['name'] = [
    'type' => 'text', 
    'label' => 'First name', 
    'show' => true, 
    'required' => true
];

$arr_options += $arr_new_input;

Warnung: $arr_options muss existieren. Wenn $arr_options bereits einen ['name'] hat, wird er überschrieben.

Ich hoffe, das hilft.

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