nasıl bir dizi anahtar değer çiftleri ekleyebilirsiniz?

3 Cevap php

nasıl bir dizi anahtar değer çiftleri ekleyebilirsiniz?

Bu çalışmaz:

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

Bana verir, çünkü:

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

ve ben bekliyoruz

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

3 Cevap

Kullanın square bracket syntax:

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

$row["datasource_id"] değeri $row["title"] depolandığı nerede anahtar

Benim PHP biraz paslı, ama endeksli atama arıyoruz inanıyoruz. Basitçe kullanın:

$catList[$row["datasource_id"]] = $row["title"];

PHP diziler aslında tuşları tamsayı veya dizeleri ya olabilir haritalar vardır. PHP: Arrays - Manual daha fazla bilgi için check out.

Sen olarak tek değer dizi anahtar-değer yaratabilir

$new_row = array($row["datasource_id"]=>$row["title"]);

döngü içinde iken, ve daha sonra, her yeni $new_row dizi birleştirme döngüsünde array_merge işlevini kullanın.