[php] 키 값 쌍으로 배열을 만들려면 어떻게해야합니까?

배열에 키 값 쌍을 추가하려면 어떻게해야합니까?

작동하지 않습니다.

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

나에게 제공하기 때문에 :

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

그리고 기대합니다.

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



답변

대괄호 구문을 사용하십시오 .

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

$row["datasource_id"]$row["title"]이 저장 되는 키입니다 .


답변

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


답변

내 PHP는 약간 녹슬었지만 색인 할당을 찾고 있다고 생각합니다. 간단히 사용 :

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

PHP에서 배열은 실제로 맵이며 키는 정수 또는 문자열 일 수 있습니다. 체크 아웃 PHP를 : 배열이 – 수동 더 많은 정보를 얻을 수 있습니다.


답변

단일 값 배열 키-값을 다음과 같이 만들 수 있습니다.

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

while 루프 내부 array_merge에서 함수 를 사용 하여 각 새 $new_row배열 을 결합합니다 .


답변

애플리케이션에서이 함수를 사용하여 인덱스 배열에 키를 추가 할 수 있습니다.

public static function convertIndexedArrayToAssociative($indexedArr, $keys)
{
    $resArr = array();
    foreach ($indexedArr as $item)
    {
        $tmpArr = array();
        foreach ($item as $key=>$value)
        {
            $tmpArr[$keys[$key]] = $value;
        }
        $resArr[] = $tmpArr;
    }
    return $resArr;
}


답변

array_push 함수가 필요하지 않습니다. 여러 항목을 추가하려면 제대로 작동합니다. 간단히 이것을 시도하고 그것은 나를 위해 일했습니다

class line_details {
   var $commission_one=array();
   foreach($_SESSION['commission'] as $key=>$data){
          $row=  explode('-', $key);
          $this->commission_one[$row['0']]= $row['1'];
   }

}


답변