说我有一个阵列
$array
Run Code Online (Sandbox Code Playgroud)
有没有人能给我一个例子,说明如何使用foreach循环并在计算初始数组总数并将其除以2之后打印两个列表,其余的剩余部分留在第二个列表中?
因此,不是仅使用foreach创建一个长列表,而是创建两个列表?像这样......
然后第二个列表将继续按顺序打印
Mor*_*gil 76
要获取数组的一部分,可以使用array_slice:
$input = array("a", "b", "c", "d", "e");
$len = count($input);
$firsthalf = array_slice($input, 0, $len / 2);
$secondhalf = array_slice($input, $len / 2);
Run Code Online (Sandbox Code Playgroud)
mea*_*gar 15
使用array_chunk
到阵列向上循环每个分成多个子阵列,然后.
要找出块的大小应该将数组分成两半,请使用ceil(count($array) / 2)
.
<?php
$input_array = array('a', 'b', 'c', 'd', 'e', 'f');
$arrays = array_chunk($input_array, 3);
foreach ($arrays as $array_num => $array) {
echo "Array $array_num:\n";
foreach ($array as $item_num => $item) {
echo " Item $item_num: $item\n";
}
}
Run Code Online (Sandbox Code Playgroud)
产量
Array 0:
Item 0: a
Item 1: b
Item 2: c
Array 1:
Item 0: d
Item 1: e
Item 2: f
Run Code Online (Sandbox Code Playgroud)
Pee*_*ter 15
http://php.net/manual/en/function.array-slice.php
要将数组切成两半,请使用floor(count($ array)/ 2)来了解您的偏移量.
小智 6
这是一个使用 array_chunk 的单行:
list($part1, $part2) = array_chunk($array, ceil(count($array) / 2));
Run Code Online (Sandbox Code Playgroud)
如果您需要保留密钥,请添加 true 作为第三个参数:
list($part1, $part2) = array_chunk($array, ceil(count($array) / 2), true);
Run Code Online (Sandbox Code Playgroud)