我要为这个发疯了...试图弄清楚近4个小时但没有成功...
我正在尝试在 4 个数组的多维数组中获取 mysql 查询结果集。因此,如果结果集返回 8 条记录,则该数组将包含 2 条记录的 4 个数组。如果结果集返回 20 条记录,则该数组将包含 4 个 5 条记录的数组,依此类推……这就是简单的部分……
我遇到的问题是结果集不能均匀分布在 4 个数组中。例如,如果结果集返回 14 条记录,那么第一个数组包含 4 条记录,第二个数组包含 4 条记录,第三个数组包含 3 条记录,第四个数组包含 3 条记录...
到目前为止,这是我编写的代码:
...
$num_rows = $stmt->num_rows; //number of records returned by the result set
$arrays = 4; //distributed in 4 arrays
$per_array = (int)($num_rows / $arrays); //minimum per array
$remainder = $num_rows % $per_array; //the remainder
$array_r = array();
$i = 1;
$col = 1;
while ($stmt->fetch()) {
if ($i <= $per_array) {
$i++;
} else {
$i = 1;
$col++;
}
$array_r[$col][] = array(...values from result set...);
}