2016-03-29 4 views
-4

Wenn ich ein Array mit zwei dynamischen Werten wie diese:Pushing in einen 2-dimensionalen Array in PHP

$people = array(
    "george" => "smith" 
); 

Wie kann ich die Push-in in php?

Ich habe versucht,

array_push($people, "john" => "smith"); 

EDIT:

Ich habe versucht, was kommentiert wurde, aber das Hinzufügen einer neuen Schlüssel doesnt einen neuen Eintrag im Array erstellen, gibt es nur 1-Wert ist, obwohl es sein sollte 3 ..

$people = array(); 

foreach ($items as $item){ 

    $name = $item->getElementsByTagName('name')->item(0); 
    $num = $item->getElementsByTagName('number')->item(0); 
    $mess = $item->getElementsByTagName('message')->item(0); 

    if($name != NULL && $num != NULL && $mess != NULL){ 
     $people[$num->textContent] = $name->textContent; 

    } 

} 
var_dump($people); 
+1

mit Fest ... Was? Was meinst du mit "hineinschieben"? Willst du einen anderen Wert hinzufügen? – Epodax

+0

In welches Array möchten Sie schieben? Gib uns einen Code, den du ausprobiert hast. –

+0

http://StackOverflow.com/a/676703/3933332 – Rizier123

Antwort

1

Wenn neues Element hat einen definierten Schlüssel:

$people['newkey'] = 'newvalue'; 

Ohne definierten Schlüssel:

$people[] = 'newvalue'; 
0

Array Push aber ohne Schlüssel

array_push($people,'mark'); 

mit Schlüssel

$people['keytest'] = test; 
0

In diesem Fall wird array_push nicht funktionieren, weil es nicht im nächsten Index . Was Sie tun können ist:

$people['new_key'] = 'new_value'; 

Aber es wird den alten Wert mit demselben Schlüssel ersetzen, falls vorhanden. So können Sie mit isset Funktion umgehen.

if(isset($people['new_key'])){ 
    // do some stuff here! 
} 
else{ 
    $people['new_key'] = 'new_value'; 
} 
+0

Bitte lesen Sie edit –

0

es von

$people[] = array($num->textContent => $name->textContent); 
+0

Indem Sie oben genannten Code schreiben, haben Sie gerade die Struktur des '$ people' Arrays geändert. Jetzt sieht es so aus: array (array ("key1" => "value1"), array ("key2", "value2")); nur 'var_dump ($ people)' ODER 'print_r ($ people)' – Ali