Home > Article > Backend Development > How to cross merge two arrays in php
In PHP, how to cross-merge two arrays? This problem is very common in data processing and program development. Cross-merging two arrays can enrich the data and provide a more diverse way of running the program. This article will introduce in detail how to use PHP to implement cross-merging of two arrays.
Before we begin, we need to understand what "cross-merge" is. Simply put, cross-merging is to cross-combine the elements of two arrays. For example, if we have two arrays:
$array1 = [1, 3, 5];
$array2 = [2, 4, 6];
then after cross merging The result should be:
$result = [1, 2, 3, 4, 5, 6];
Now let us see how to implement this process with PHP.
Method 1: Use for loop to achieve
First, we can use for loop to achieve cross-merging of two arrays. The specific steps are as follows:
The following is a sample code:
<?php // 定义两个数组 $array1 = [1, 3, 5]; $array2 = [2, 4, 6]; // 计算两个数组的长度 $len1 = count($array1); $len2 = count($array2); // 创建一个新的空数组 $result = []; // 使用for循环遍历两个数组 for ($i = 0; $i < $len1 || $i < $len2; $i++) { // 如果数组1的长度大于$i,则将数组1的第$i个元素添加到结果数组中 if ($i < $len1) { $result[] = $array1[$i]; } // 如果数组2的长度大于$i,则将数组2的第$i个元素添加到结果数组中 if ($i < $len2) { $result[] = $array2[$i]; } } // 输出结果数组 print_r($result); ?>
The above code will output the following results:
Array ( [0] => 1 [1] => 2 [2] => 3 [3] => 4 [4] => 5 [5] => 6 )
Method 2: Use the array_map function to achieve
Except Using a for loop, we can also use PHP's built-in array_map function to implement cross merging. The array_map function can receive multiple arrays as parameters, pass elements with the same subscript in these arrays to a custom function for processing, and then return the processed results into a new array.
The specific steps are as follows:
The following is a sample code:
<?php // 定义两个数组 $array1 = [1, 3, 5]; $array2 = [2, 4, 6]; // 创建一个自定义函数,用于将多个参数交叉合并 function cross_merge(...$arrays) { $len = count($arrays[0]); $result = []; // 遍历每个子数组 for ($i = 0; $i < $len; $i++) { // 遍历每个参数 foreach ($arrays as $array) { // 如果当前参数的下标小于数组的长度,则将当前参数的第$i个元素添加到结果数组中 if ($i < count($array)) { $result[] = $array[$i]; } } } return $result; } // 使用array_map函数 $result = array_map("cross_merge", $array1, $array2); // 输出结果数组 print_r($result); ?>
The above code will output the following results:
Array ( [0] => 1 [1] => 2 [2] => 3 [3] => 4 [4] => 5 [5] => 6 )
Summary
Cross merge two arrays in the data It is a very practical technology in processing and program development. In PHP, we can use for loop or array_map function to achieve this. In general, the array_map function is more concise and efficient, but the way of using a for loop is more intuitive and easy to understand. According to actual needs, just choose the appropriate method to achieve cross-merging.
The above is the detailed content of How to cross merge two arrays in php. For more information, please follow other related articles on the PHP Chinese website!