How can I create an array with key value pairs?


Question

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  ) 
1
115
6/10/2019 12:39:12 PM

Accepted 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.

147
7/16/2009 3:19:53 PM

$data =array();
$data['user_code']  = 'JOY' ;
$data['user_name']  = 'JOY' ;
$data['user_email'] = 'joy@cargomar.org';

Licensed under: CC-BY-SA with attribution
Not affiliated with: Stack Overflow
Icon