基于php中的键序列拆分数组

时间:2016-11-23 11:23:21

标签: php

我有一些代码用于根据键序列将1个数组拆分为多个数组。我想将1数组拆分为多个数组,就像下面的代码一样。

这是数组,

$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'
)

3 个答案:

答案 0 :(得分:1)

根据您的要求,使用 array_slice ,第四个参数为true或 array_chunk ,第三个参数为true

<?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]);

答案 1 :(得分:1)

进行拆分需要什么规则?以下代码仅适用于您的示例。您可能必须根据您需要的规则更改代码。

<?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];
?>

答案 2 :(得分:0)

$result=array(array());
for ($weekdays as $w)
{
    if ($a=='Wednesday')
         $result[]=array();
    $result[count($result)-1][]=$a;
}

应将($a=='Wednesday')替换为您的拆分标准