脚本宝典收集整理的这篇文章主要介绍了php – 显示来自一个数组的前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,请注明来意。