¿Cómo puedo agregar pares clave-valor a una matriz?
Esto no 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 da:
Array ( [0] => 1=>Categorie 1 [1] => 5=>Categorie 2 [2] => 2=>Caterorie 2 )
Y espero:
Array ( [1] =>Categorie 1 [5] => Categorie 2 )
Respuestas:
Utilice la sintaxis de corchetes :
$row["datasource_id"]
es la clave de dónde$row["title"]
se almacena el valor de .fuente
fuente
$data = ['user_email' => [email protected]'] + $data
.Mi PHP está un poco oxidado, pero creo que estás buscando una asignación indexada. Simplemente use:
En PHP, las matrices son en realidad mapas, donde las claves pueden ser enteros o cadenas. Consulte PHP: Arrays - Manual para obtener más información.
fuente
Puede crear el valor-clave de matriz de valor único como
dentro del ciclo while, y luego use la
array_merge
función en ciclo para combinar cada nueva$new_row
matriz.fuente
Puede usar esta función en su aplicación para agregar claves a la matriz indexada.
fuente
No necesita la función array_push. Si desea agregar varios elementos, funciona bien. simplemente prueba esto y funcionó para mí
fuente