私はこれに夢中になっています...ほぼ4時間それを理解しようとしていますが、成功していません...
4 つの配列の多次元配列で mysql クエリの結果セットをフェッチしようとしています。したがって、結果セットが 8 つのレコードを返す場合、配列には 2 つのレコードの 4 つの配列が含まれます。結果セットが 20 レコードを返す場合、配列には 5 つのレコードの 4 つの配列が含まれます。これは簡単な部分です...
私が問題を抱えているのは、結果セットを 4 つの配列に均等に分散できない場合です。たとえば、結果セットが 14 レコードを返す場合、最初の配列には 4 つのレコードが含まれ、2 番目の配列には 4 つのレコードが含まれ、3 番目の配列には 3 つのレコードが含まれ、4 番目の配列には 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...);
}