Разделить PHP массив по ключам сортируя их по четным и нечетным

Есть многомерный массив:

array(4) {
  [0]=>
  array(1) {
    ["id"]=>
    int(100004)
  }
  [1]=>
  array(1) {
    ["id"]=>
    int(100003)
  }
  [2]=>
  array(1) {
    ["id"]=>
    int(100002)
  }
  [3]=>
  array(1) {
    ["id"]=>
    int(100001)
  }
}

Как разбить данный массив на 2 части сортируя их ключи на четные и не четные и чтоб 0 было четное число. На выходе хочу получить 2 массива такого вида...

array(2) {
  [0]=>
  array(1) {
    ["id"]=>
    int(100004)
  }
  [2]=>
  array(1) {
    ["id"]=>
    int(100002)
  }
}

array(2) {
  [1]=>
  array(1) {
    ["id"]=>
    int(100003)
  }
  [3]=>
  array(1) {
    ["id"]=>
    int(100001)
  }
}

В первом массиве с 0 через один а в втором массиве с 1 через один.

Прошу помощи в реализации.


Ответы (1 шт):

Автор решения: Илья
    $array = [
        ['id' => 100004],
        ['id' => 100003],
        ['id' => 100002],
        ['id' => 100001],
    ];

    $evenArray = [];
    $oddArray = [];

    foreach ($array as $index => $item) {
        if ($index % 2 === 0) {
            $evenArray[] = $item;
        } else {
            $oddArray[] = $item;
        }
    }
→ Ссылка