我有以下数组,其中包含有序但不连续的数字键:
Array
(
[4] => 2
[5] => 3
[6] => 1
[7] => 2
[8] => 1
[9] => 1
[10] => 1
)
我需要将数组拆分为2个数组,第一个数组包含5以下的键,另一个数组包含5以上的键。请注意,键可能会有所不同(例如1,3,5,10),因此我无法使用,array_slice
因为我不知道偏移量。
您是否知道任何简单的函数可以完成此任务,而无需使用foreach
??
刚发现array_slice
有一个preserve_keys
参数。
$a = [
4 => 2,
5 => 3,
6 => 1,
7 => 2,
8 => 1,
9 => 1,
10 => 1
];
$desired_slice_key = 5;
$slice_position = array_search($desired_slice_key, array_keys($a));
$a1 = array_slice($a, 0, $slice_position, true);
$a2 = array_slice($a, $slice_position, count($a), true);
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句