$out = [1,2,3,4,5];
$out = array_chunk($out, $k);
foreach($out as &$v){
$v = array_reverse($v);
}
$out2 = [];
foreach($out as $v){
$out2 = array_merge($out2, $v);
}
var_dump($out2);exit;
应该输出 2 1 4 3 5 但结果是 2 1 4 3 4 3 需要把第二个 foreach $v 改成&$v 才行
1
Rache1 2023-10-13 10:44:50 +08:00
手册上第一个示例块就说了
PHP: foreach - Manual https://www.php.net/manual/zh/control-structures.foreach.php 在 foreach 使用了 & 的情况下,你再 foreach 下面再 unset 掉就好了。 $out = [1,2,3,4,5]; $out = array_chunk($out, $k); foreach($out as &$v){ $v = array_reverse($v); } // 👇 unset($v); $out2 = []; foreach($out as $v){ $out2 = array_merge($out2, $v); } var_dump($out2);exit; |