如何将键值对添加到数组中?
这不起作用:
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 )
答案 0 :(得分:150)
$data =array();
$data['user_code'] = 'JOY' ;
$data['user_name'] = 'JOY' ;
$data['user_email'] = 'joy@cargomar.org';
答案 1 :(得分:148)
if (!empty($row["title"])) {
$catList[$row["datasource_id"]] = $row["title"];
}
$row["datasource_id"]
是$row["title"]
的值存储位置的关键。
答案 2 :(得分:16)
我的PHP有点生疏,但我相信你正在寻找索引作业。只需使用:
$catList[$row["datasource_id"]] = $row["title"];
在PHP中,数组实际上是映射,其中键可以是整数或字符串。查看PHP: Arrays - Manual了解详情。
答案 3 :(得分:2)
您可以将单值数组键值创建为
$new_row = array($row["datasource_id"]=>$row["title"]);
在while循环中,然后在循环中使用array_merge
函数来组合每个新的$new_row
数组。
答案 4 :(得分:1)
您可以在应用程序中使用此功能将键添加到索引数组。
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;
}
答案 5 :(得分:0)
不需要array_push函数。如果你想添加多个项目,它可以正常工作。试试这个,它对我有用
canOpenURL: failed for URL: "whatsapp:0534260282" -
"This app is not allowed to query for scheme whatsapp"