php – 显示来自一个数组的前4个元素和来自另一个数组的前1个元
发布时间:2020-12-13 16:04:02 所属栏目: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,... } └───┬────┘ ↑↑
我试图通过显示第一个数组中的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 one Array ( Array ( //4 array elements ) //... ) //Array two Array ( Array ( //1 array elements ) //... ) 然后你可以使用 所以在array_map()之后我们得到一个二维数组,每个subArray包含来自第一个数组的4个元素和来自第二个数组的1个元素,如下所示: //Array Array ( Array ( //4 array elements from array one //1 array elements from array two ) //... ) 然后我们可以使用 码 <?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 ) (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |