我正在拿一个数组:
$sql = SELECT id, name, state FROM table ORDER BY name
$result = mysqli_query($conn, $sql);
$rows = array();
$dict = ["A","B","C"];
while ($row = mysqli_fetch_array($result)) {
//replace state value here before next line
$rows[] = $row;
}
州字段中的值可以是0,1,2。我想将$row
的key =状态中的值替换为$dict
的值,因此0 => A,1 => B,2 => C. state字段中的值等于$ dict数组的位置。
恩。如果$row=["id"=>"1","name"=>"john", "state"=>"1"]
新$row=["id"=>"1","name"=>"john", "state"=>"B"]
答案 0 :(得分:0)
您可以这样使用:
$dict = array("A","B","C");
$i = 0;
while ($row = mysqli_fetch_array($result)) {
$rows[$i]['id'] = $row['id'];
$rows[$i]['name'] = $row['name'];
$rows[$i]['state'] = $dict[$value['state']];
$i++;
}
如果您的$dict
索引固定为三个索引,那么它将完全正常工作。
<强>解释强>
$dict[$value['state']]
这将根据索引值获取值。
就像$value['state'] == 1
一样,它会从$dict
数组获得“B”。
为了安全起见,你也可以这样使用:
$rows[$i]['state'] = (isset($dict[$value['state']]) ? $dict[$value['state']] : ''); // if not set than empty anything else that you want.