sanders sanders - 2 months ago 14
PHP Question

how can I add key value pairs to an array?

How can I add key value pairs to an array?

This won't work:

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);
}


Because it gives me:

Array ( [0] => 1=>Categorie 1 [1] => 5=>Categorie 2 [2] => 2=>Caterorie 2 )


And I expect:

Array ( [1] =>Categorie 1 [5] => Categorie 2 )

Answer

Use the square bracket syntax:

if (!empty($row["title"])) {
    $catList[$row["datasource_id"]] = $row["title"];
}

$row["datasource_id"] is the key for where the value of $row["title"] is stored in.