php – 显示来自一个数组的前4个元素和来自另一个数组的前1个元素,直到存在数组元素

发布时间:2022-04-30 发布网站:脚本宝典
脚本宝典收集整理的这篇文章主要介绍了php – 显示来自一个数组的前4个元素和来自另一个数组的前1个元素,直到存在数组元素脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。
我试图通过显示一个数组中的4个第一个元素和第二个数组中的1个第一个元素来创建第三个数字数组,依此类推.

例:

A1 { 1,2,3,4,5,6,7,8,9,10,21,22,23,24,25 }
A2 {11,12,13,14,15,16,17,18,19,20 }

结果应该是:

A3 { 1,11,... }
     └───┬────┘  ↑↑  └───┬────┘  ↑↑  └─────┬─────┘  ↑↑
         A1      A2      A1      A2        A1       A2

现在我尝试了这段代码,但它没有显示第二个数组中的所有元素.

<?PHP

    $array = array(1,10);
    $array2 = array(11,20);

    $temp = 0;

    foreach ($array as $key => $ITem)
    {
        echo $item;

        if(($key+1) % 4 == '0')
        {
            echo $array2[$temp];
            $temp++;
        } 
    }


?>

解决方法

说明

在这里,我首先将第一个数组分为4个元素的每个部分,第二个部分为1个部分,分别为array_chunk(),如下所示:

//Array one
Array (
    Array (
        //4 array elements
    )
    //...
)

//Array two
Array (
    Array (
        //1 array elements
    )
    //...
)

然后你可以使用array_map()一次遍历两个数组,并将这两个数组与array_merge()合并在一起.由于两个数组中的元素数量可能不均匀,我只需检查is_array(),如果我们仍然有一个包含要合并的元素的数组或如果我们必须为array_merge()使用一个空数组.

所以在array_map()之后我们得到一个维数组,每个subArray包含来自第一个数组的4个元素和来自第二个数组的1个元素,如下所示:

//Array
Array (
    Array (
        //4 array elements From array one
        //1 array elements from array two
    )
    //...
)

然后我们可以使用call_user_func_array()结合array_merge()将所有元素作为一维数组.

<?PHP

    $array = array(1,20);

    $result = call_user_func_array("array_merge",array_map(function($arrayOne,$arrayTwo){
        return array_merge(is_array($arrayOne) ? $arrayOne : [],is_array($arrayTwo) ? $arrayTwo : []);
    },array_chunk($array,4),array_chunk($array2,1)));


    PRint_r($result);

?>

输出

Array (
    [0] => 1
    [1] => 2
    [2] => 3
    [3] => 4
    [4] => 11
    [5] => 5
    [6] => 6
    [7] => 7
    [8] => 8
    [9] => 12
    [10] => 9
    [11] => 10
    [12] => 13
    [13] => 14
    [14] => 15
    [15] => 16
    [16] => 17
    [17] => 18
    [18] => 19
    [19] => 20
)

脚本宝典总结

以上是脚本宝典为你收集整理的php – 显示来自一个数组的前4个元素和来自另一个数组的前1个元素,直到存在数组元素全部内容,希望文章能够帮你解决php – 显示来自一个数组的前4个元素和来自另一个数组的前1个元素,直到存在数组元素所遇到的问题。

如果觉得脚本宝典网站内容还不错,欢迎将脚本宝典推荐好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。