【发布时间】:2025-12-27 16:50:12
【问题描述】:
我有一个如下的数组列表,如何将它们分成相等的部分,按 id 对相等的部分进行排序,以及使用 PHP 将相等的部分合并到一个 id 中?
Array
(
[0] => Array
(
[id] => 121
[owner] => xa
[name] => xjs
)
[1] => Array
(
[id] => 139
[owner] => xa
[name] => xjs
)
[2] => Array
(
[id] => 1456
[owner] => xv
[name] => bjs
)
[3] => Array
(
[id] => 1896
[owner] => xb
[name] => bjs
)
[4] => Array
(
[id] => 1963
[owner] => xb
[name] => bjs
)
)
假设我想将它们分成 2 个相等的项目, 先拆分,最小的id应该是等分的,应该是这样的:
Array
(
[0] => Array
(
[id] => 121
[owner] => xa
[name] => xjs
)
[1] => Array
(
[id] => 139
[owner] => xa
[name] => xjs
)
)
Array
(
[0] => Array
(
[id] => 1456
[owner] => xv
[name] => bjs
)
[1] => Array
(
[id] => 1896
[owner] => xb
[name] => bjs
)
)
Array
(
[0] => Array
(
[id] => 1963
[owner] => xb
[name] => bjs
)
)
我的示例代码是 5 项,如果是 6 项,应该是 [1,2],[3,4],[5,6],有多少项或部分不确定,但我应该是 2相等的部分。
其次合并它们(这是我们项目的逻辑,如果你不知道我在说什么,请忽略合并问题,我只需要知道如何拆分它们):
[121, 139] => 合并到139,
[1456, 1896] => 合并到1896,
新列表:[139, 1896] => 合并到1896,
和最终列表 [1896, 1963] 合并到最终 id 1963
【问题讨论】:
-
如果您可以为此输入添加预期的输出,它将更容易理解您的要求。
-
只分割数组,使用
array_chunk -
@Nick 嗨,我更新了我的问题。
-
如果数组是排序好的,那么
array_chunk会按照你想要的方式拆分。
标签: php arrays split array-merge