我有一个关于关联数组的作业。但是,无法分配数组的键。$array = array();while($row = mysqli_fetch_assoc($result)){ // $code and $name are from database $array += array("$code" => "$name");}print_r($array);而不是显示Array ( [123] => dave [234] => linda )表明Array ( [0] => dave [1] => linda )发生什么事?
2 回答
一只萌萌小番薯
TA贡献1795条经验 获得超7个赞
做如下数组赋值:
while($row = mysqli_fetch_assoc($result)){
$array[$row['code']]= $row['name'];
}
如果代码可能相同并且您想获得所有名称,那么您必须进行多维数组分配,如下所示:
while($row = mysqli_fetch_assoc($result)){
$array[]= array($row['code']=>$row['name']);
}
RISEBY
TA贡献1856条经验 获得超5个赞
我猜'code'和'name'变量来自$rowif所以你可以使用以下语法
$array = [];
while(['code' => $code, 'name' => $name] = mysqli_fetch_assoc($result)){
isset($code, $name) && ($array[$code] = $name); // isset is to avoid overriding an exisiting value with null it's not needed if the query limits that case
}
print_r($array);
速记数组语法 ([]) 可用于解构数组以进行赋值,如果我没记错的话,它是在 PHP 7.1 中添加的
- 2 回答
- 0 关注
- 105 浏览
添加回答
举报
0/150
提交
取消