• 1000 матрица 2 x 3 (2 строки и 3 столбца). Моя цель - повернуть его так, чтобы теперь матрица представляла собой матрицу 3 x 2 (3 строки, 2 столбца)
для этого, конечно, мне нужен дополнительный аргумент, скажем, «количество строк» (в в данном случае это похоже на 2 строки)
Я сделал следующее:
function pivotArray($array, $nbrRows)
{
$countTotal = count($array);
$countCols = $countTotal / $nbrRows;
$chunk = array_chunk($array,$countCols);
$out = array();
for ($row=0;$row<$nbrRows;$row++) {
for ($col=0;$col<$countCols;$col++) {
$out[$col][$row] = $chunk[$row][$col];
}
}
$arraySingle = call_user_func_array('array_merge', $out);
return $arraySingle;
}
он работает так, как задумано, но мне интересно, есть ли лучший способ сделать это? например, избегая 2 циклов for? а также избегайте array_merge?