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

2022-08-30 11:34:57

假设我有一个数组

$array

任何人都可以给我一个例子,说明如何使用foreach循环并在初始数组总数被计数并除以2之后打印两个列表,并在第二个列表中留下任何剩余部分?

因此,与其仅使用 foreach 创建一个长列表,不如创建两个列表?这样。。。

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

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

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

答案 1

要获取数组的一部分,可以使用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);

答案 2

使用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