//go through each question
foreach($file_data as $value) {
//separate the string by pipes and place in variables
list($category, $question) = explode('|', $value);
//place in assoc array
$data = array($category => $question);
print_r($data);
}
Dies funktioniert nicht, da es den Wert von Daten ersetzt. Wie kann ich dafür sorgen, dass jeder Schleife ein assoziativer Wert hinzugefügt wird? $file_data
ist ein Array von Daten mit einer dynamischen Größe.
Sie können dies einfach tun
Wenn Sie auf PHP 5.4+ laufen
quelle
vorher für Schleife:
dann in deiner Schleife:
quelle
$data=[];
$data[] = [$category => $question];
$res = array(); $res[] = array('foo' => $bar); $foo = $res['foo'];
schlägt mit undefiniertem Index fehl : foo in .. , aber unten vorgeschlagenes Pluszeichen funktioniert.Für alle, die ebenfalls ein assoziatives 2d-Array hinzufügen müssen, können Sie auch die oben angegebene Antwort verwenden und den Code wie folgt verwenden
Sie können es dann aufrufen (um das Ergebnis zu testen, indem Sie:
welches $ Frage drucken sollte
quelle
Ich weiß, dass dies eine alte Frage ist, aber Sie können verwenden:
Dies wird
array
das Ende Ihrer Strömung erreichenarray
. Oder wenn Sie nur versuchen, einzelne Werte am Ende Ihres Arrays hinzuzufügen, nicht mehr Arrays, können Sie Folgendes verwenden:quelle