为了账号安全,请及时绑定邮箱和手机立即绑定

PHP - 无法分配关联数组的键

PHP - 无法分配关联数组的键

PHP
30秒到达战场 2021-06-04 10:33:02
我有一个关于关联数组的作业。但是,无法分配数组的键。$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']);

}


查看完整回答
反对 回复 2021-06-19
?
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 中添加的


查看完整回答
反对 回复 2021-06-19
  • 2 回答
  • 0 关注
  • 105 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信