根据关键序列在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' 
) 
+2

什么来代替是说,你要进行拆分的规则? –

+0

[将数组拆分为基于键值的小数组]可能的副本(http://*.com/questions/6382362/split-array-into-smaller-arrays-based-on-value-of-key) – Veerendra

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

凡应该与分裂标准