需要帮助来检查数组并删除不按顺序排列的项目

时间:2014-07-14 21:18:50

标签: php arrays sequence

我有一系列项目:

    [3] => Array
    (
        [4] => 05
        [11] => 14
        [12] => 15
    )

我想删除不按顺序排列的项目,在这种情况下它是索引4,其中包含05。数据看起来像这样:

    [3] => Array
    (
        [11] => 14
        [12] => 15
    )

有关完成此任务的好方法的任何建议吗?

1 个答案:

答案 0 :(得分:0)

实现这一目标的一个好方法是学习算法,编程,并进行实际测试。

快乐解密。 :)

function answer_rahendzs_problem($array){

    $k=$v=NULL;
    $r = array();
    $fc = 0;
    $lp = NULL;

    foreach($array as $key=>$value){ 

        if($k+1!=$key || $v+1!=$value ) {
            if(!isset($k) || !$fc) {
                $k = $key;
                $v = $value;
                $lp = array($key,$value);
            }

            continue;
        }

        if(!$fc){
            $fc = 1;
            if((array)$lp===$lp){
                $r[$lp[0]] = $lp[1];
            }
        }

        $r[$key] = $value;
        $k++; $v++;
    }

    return $r;
}

die("<pre>".print_r(answer_rahendzs_problem(array( 4=>5,11=>14,12=>15 )),true));