我要为这个问题疯了......试图找出它几乎4个小时没有成功......如何在4个阵列的多维数组中分配mysql结果集
我在尝试在4个数组的多维数组中获取mysql查询结果集。因此,如果结果集返回8条记录,则数组将包含4条2条记录。如果结果集返回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...);
}
对不起的错字...编辑和纠正 – Marco