我正在尝试将结果从 MySQLi select 转换为多维数组,但没有得到想要的结果。这是从 SELECT 语句返回的数据:
+----+------------+
| id | value |
+----+------------+
| 2 | Red |
| 2 | Blue |
| 1 | Green |
| 1 | Yellow |
| 1 | Orange |
| 3 | Teal |
+----+------------+
可以有多个具有相同 ID 的值。我的获取语句如下所示:
while ($stmt->fetch()) {
$colors[] = array($value);
}
结果是这样的:
Array
(
[0] => Array
(
[0] => Red
)
[1] => Array
(
[0] => Blue
)
[2] => Array
(
[0] => Green
)
[3] => Array
(
[0] => Yellow
)
[4] => Array
(
[0] => Orange
)
[5] => Array
(
[0] => Teal
)
)
但是,我真正想要的是数组看起来像这样:
Array
(
[0] => Array
(
[0] => Red
[1] => Blue
)
[1] => Array
(
[0] => Green
[1] => Yellow
[2] => Orange
)
[2] => Array
(
[0] => Teal
)
)
如有任何帮助,我们将不胜感激!
最佳答案
或者,您可以使用 id 在循环内对它们进行分组。示例:
$stmt->bind_result($id, $value);
while ($stmt->fetch()) {
$colors[$id][] = $value;
}
// $colors = array_values($colors); // optional, if you want to reindex the keys
关于php - MySqli 查询多维数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26292031/