Wie kann ich einem Array Schlüsselwertpaare hinzufügen?
Das wird nicht funktionieren:
public function getCategorieenAsArray(){
$catList = array();
$query = "SELECT DISTINCT datasource_id, title FROM table";
if ($rs=C_DB::fetchRecordset($query)) {
while ($row=C_DB::fetchRow($rs)) {
if(!empty($row["title"])){
array_push($catList, $row["datasource_id"] ."=>". $row["title"] );
}
}
}
return($catList);
}
Weil es mir gibt:
Array ( [0] => 1=>Categorie 1 [1] => 5=>Categorie 2 [2] => 2=>Caterorie 2 )
Und ich erwarte:
Array ( [1] =>Categorie 1 [5] => Categorie 2 )
Antworten:
Verwenden Sie die Syntax in eckigen Klammern :
$row["datasource_id"]
ist der Schlüssel, in dem der Wert von$row["title"]
gespeichert ist.quelle
quelle
$data = ['user_email' => [email protected]'] + $data
.Mein PHP ist etwas verrostet, aber ich glaube, Sie suchen nach einer indizierten Zuordnung. Verwenden Sie einfach:
In PHP sind Arrays tatsächlich Maps, bei denen die Schlüssel entweder Ganzzahlen oder Zeichenfolgen sein können. Weitere Informationen finden Sie im PHP: Arrays - Handbuch .
quelle
Sie können den Einzelwert-Array-Schlüsselwert als erstellen
innerhalb der while-Schleife und verwenden Sie dann die
array_merge
Funktion in der Schleife, um jedes neue$new_row
Array zu kombinieren .quelle
Mit dieser Funktion können Sie in Ihrer Anwendung Schlüssel zum indizierten Array hinzufügen.
quelle
Die Funktion array_push ist nicht erforderlich. Wenn Sie mehrere Elemente hinzufügen möchten, funktioniert dies einwandfrei. Probieren Sie es einfach aus und es hat bei mir funktioniert
quelle