Comment puis-je ajouter des paires clé-valeur à un tableau?
Cela ne fonctionnera pas:
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);
}
Parce que ça me donne:
Array ( [0] => 1=>Categorie 1 [1] => 5=>Categorie 2 [2] => 2=>Caterorie 2 )
Et j'attends:
Array ( [1] =>Categorie 1 [5] => Categorie 2 )
Utilisez la syntaxe crochets :
if (!empty($row["title"])) {
$catList[$row["datasource_id"]] = $row["title"];
}
$row["datasource_id"]
est la clé dans laquelle la valeur de $row["title"]
est stockée.
$data =array();
$data['user_code'] = 'JOY' ;
$data['user_name'] = 'JOY' ;
$data['user_email'] = '[email protected]';
Mon PHP est un peu rouillé, mais je crois que vous recherchez une affectation indexée. Utilisez simplement:
$catList[$row["datasource_id"]] = $row["title"];
Dans PHP, les tableaux sont en fait des cartes, les clés pouvant être des entiers ou des chaînes. Consultez PHP: Arrays - Manual pour plus d'informations.
Vous pouvez créer le tableau valeur unique clé-valeur en tant que
$new_row = array($row["datasource_id"]=>$row["title"]);
boucle while intérieure, puis utilisez la fonction array_merge
en boucle pour combiner chaque nouveau tableau $new_row
.
Vous pouvez utiliser cette fonction dans votre application pour ajouter des clés au tableau indexé.
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;
}
Pas besoin de la fonction array_Push.Si vous voulez ajouter plusieurs éléments, cela fonctionne bien. essayez simplement ceci et cela a fonctionné pour moi
class line_details {
var $commission_one=array();
foreach($_SESSION['commission'] as $key=>$data){
$row= explode('-', $key);
$this->commission_one[$row['0']]= $row['1'];
}
}