我如何获取一个数组,将其除以二并创建两个列表?

新手上路,请多包涵

说我有一个数组

$array

谁能给我一个例子,说明如何使用 foreach 循环并在计算初始数组总数并除以二后打印两个列表,其余部分留在第二个列表中?

那么不是仅仅使用 foreach 创建一个长列表而是创建两个列表?像这样…

  1. 值 1
  2. 值 2
  3. 值 3

然后第二个列表将继续按顺序打印

  1. 值 4
  2. 值 5
  3. 值 6

原文由 Andy 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 261
2 个回答

要获取数组的一部分,您可以使用 array_slice

 $input = array("a", "b", "c", "d", "e");

$len = (int) count($input);

$firsthalf = array_slice($input, 0, $len / 2);
$secondhalf = array_slice($input, $len / 2);

原文由 Mormegil 发布,翻译遵循 CC BY-SA 4.0 许可协议

使用 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";
  }
}

输出

Array 0:
  Item 0: a
  Item 1: b
  Item 2: c
Array 1:
  Item 0: d
  Item 1: e
  Item 2: f

原文由 user229044 发布,翻译遵循 CC BY-SA 3.0 许可协议

推荐问题
logo
Stack Overflow 翻译
子站问答
访问
宣传栏