根据关键序列在php中拆分数组
问题描述:
我有一些代码用于根据键序列将1数组拆分为多个数组。我想把1数组分割成多个数组,就像下面的代码一样。根据关键序列在php中拆分数组
这是数组,
$weekday_array = array(
1 => 'Monday',
2 => 'Tuesday',
3 => 'Wednesday',
5 => 'Friday',
6 => 'Saturday'
);
我想这样的输出,
$arr1 = array(
1 => 'Monday'
2 => 'Tuesday'
3 => 'Wednesday'
);
$arr2 = array(
5 => 'Friday',
6 => 'Saturday'
)
答
使用array_slice有4个参数true或array_chunk与第三个参数属实,根据您的要求
<?php
$weekdays = [
1 => 'Monday',
2 => 'Tuesday',
3 => 'Wednesday',
5 => 'Friday',
6 => 'Saturday'
];
$weekdays_groups = array_chunk($weekdays, 3, true);
var_dump($weekdays_groups[0], $weekdays_groups[1]);
+0
不知道为什么有人投下了这个答案:D –
+0
这不是很详细..我很高兴你编辑它虽然upvoted。 –
答
你需要做出拆分的规则是什么?以下代码为,仅适用于您的示例。您可能需要根据您需要的规则更改代码。
<?php
$weekday_array = array(
1 => 'Monday',
2 => 'Tuesday',
3 => 'Wednesday',
5 => 'Friday',
6 => 'Saturday'
);
$new_array=array_chunk($weekday_array,3);
$arr1=$new_array[0];
$arr2=$new_array[1];
?>
答
$result=array(array());
for ($weekdays as $w)
{
if ($a=='Wednesday')
$result[]=array();
$result[count($result)-1][]=$a;
}
凡应该与分裂标准
什么来代替是说,你要进行拆分的规则? –
[将数组拆分为基于键值的小数组]可能的副本(http://*.com/questions/6382362/split-array-into-smaller-arrays-based-on-value-of-key) – Veerendra