Jak mogę dodać pary klucz-wartość do tablicy?
To nie zadziała:
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);
}
Ponieważ daje mi:
Array ( [0] => 1=>Categorie 1 [1] => 5=>Categorie 2 [2] => 2=>Caterorie 2 )
I oczekuję:
Array ( [1] =>Categorie 1 [5] => Categorie 2 )
Odpowiedzi:
Użyj składni nawiasu kwadratowego :
$row["datasource_id"]
jest kluczem do miejsca, w którym$row["title"]
przechowywana jest wartość .źródło
źródło
$data = ['user_email' => [email protected]'] + $data
.Mój PHP jest trochę zardzewiały, ale myślę, że szukasz przypisania indeksowanego. Po prostu użyj:
W PHP tablice są w rzeczywistości mapami, gdzie klucze mogą być liczbami całkowitymi lub łańcuchami. Sprawdź PHP: Arrays - Manual, aby uzyskać więcej informacji.
źródło
Możesz utworzyć pojedynczą tablicę wartości jako klucz-wartość
wewnątrz while loop, a następnie użyj
array_merge
funkcji function in loop, aby połączyć każdą nową$new_row
tablicę.źródło
Możesz użyć tej funkcji w swojej aplikacji, aby dodać klucze do tablicy indeksowanej.
źródło
Nie ma potrzeby funkcji array_push. Jeśli chcesz dodać wiele pozycji, działa dobrze. po prostu spróbuj tego i zadziałało
źródło