Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/251.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
特定于PHP的合并数组_Php_Arrays - Fatal编程技术网

特定于PHP的合并数组

特定于PHP的合并数组,php,arrays,Php,Arrays,我有两个数组 $arr1 = array(1,3); $arr2 = array(2,4); 我想将它们合并到一个具有以下结构的数组: $arr = array(1,2,3,4); 是否有php函数用于该解决方案或存在良好的解决方案? UPD:我不需要排序值,我想把元素从第一个数组放到奇数位置,把元素从第二个数组放到偶数位置,你必须先把它们排序,然后再排序: $new_arr = array_merge($arr1, $arr2) 假设两个函数的长度相同,则没有内置函数来执行您

我有两个数组

$arr1 = array(1,3);  
$arr2 = array(2,4);  
我想将它们合并到一个具有以下结构的数组:

$arr = array(1,2,3,4);  
是否有php函数用于该解决方案或存在良好的解决方案?
UPD:我不需要排序值,我想把元素从第一个数组放到奇数位置,把元素从第二个数组放到偶数位置,你必须先把它们排序,然后再排序:

$new_arr = array_merge($arr1, $arr2)
假设两个函数的长度相同,则没有内置函数来执行您所描述的操作:

$len = count($arr1);
for($x=0; $x < $len; $x++) {
    array_push($arr, $arr1[$x], $arr2[$x]);
}
$len=count($arr1);
对于($x=0;$x<$len;$x++){
阵列推送($arr,$arr1[$x],$arr2[$x]);
}

否。据我所知,Php没有用于此目的的函数。你必须自己写,但很简单

伪代码:

cmb = []

for (i=0, i<arr1.length, i++) {
   array_push(cmb, arr1[i]);
   array_push(cmb, arr2[i]);
}
cmb=[]

对于(i=0,iyou应该澄清——您是否希望这样:新的数组=数组(arr1[0],arr2[0],arr1[1],arr2[1]);无论数组中的值如何?这意味着您不能只应用排序,而是希望合并两个数组,以便来自arr1和arr2的相同索引始终相邻?数组的长度如何?(那就编写你自己的函数吧。这并不难。)用奇数键和/或偶数键为数组设置键,然后使用asort,你就可以完成你在更新中所说的内容
cmb = []

for (i=0, i<arr1.length, i++) {
   array_push(cmb, arr1[i]);
   array_push(cmb, arr2[i]);
}