如何使用键值对创建数组?

如何向数组中添加键值对?

这行不通:

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  )
338545 次浏览

我的 PHP 有点生疏,但我相信你正在寻找索引分配。简单使用:

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

在 PHP 中,数组实际上是映射,键可以是整数或字符串。查看 PHP: 数组-手册了解更多信息。

使用 方括号语法方括号语法:

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';

可以将单值数组键值创建为

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

No need array_push function.if you want to add multiple item it works fine. simply try this and it worked for me

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


}