Como posso adicionar pares de valores-chave a uma matriz?
Isso não vai funcionar:
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);
}
Porque me dá:
Array ( [0] => 1=>Categorie 1 [1] => 5=>Categorie 2 [2] => 2=>Caterorie 2 )
E eu espero:
Array ( [1] =>Categorie 1 [5] => Categorie 2 )
Respostas:
Use a sintaxe de colchetes :
$row["datasource_id"]
é a chave para onde o valor de$row["title"]
está armazenado.fonte
fonte
$data = ['user_email' => [email protected]'] + $data
.Meu PHP está um pouco enferrujado, mas acredito que você esteja procurando uma atribuição indexada. Basta usar:
Em PHP, arrays são, na verdade, mapas, onde as chaves podem ser inteiros ou strings. Confira PHP: Arrays - Manual para mais informações.
fonte
Você pode criar o valor-chave da matriz de valor único como
dentro do loop while e, em seguida, use a
array_merge
função em loop para combinar cada novo$new_row
array.fonte
Você pode usar esta função em seu aplicativo para adicionar chaves à matriz indexada.
fonte
Não há necessidade de função array_push. Se você deseja adicionar vários itens, ele funciona bem. simplesmente tente isso e funcionou para mim
fonte