数组合并 两个数组array(1,2,3,4)array(5,6,7)合并成array(1,5,2,6,3,7,4) 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 $a = array(1,2,3,4);$b = array(5,6,7);$c = array_merage( $a ,$b);var_dump($c); #1的merge单词拼错。$a = array(1,2,3,4);$b = array(5,6,7);$c = array_merge($a ,$b);var_dump($c);// $c = array(1,2,3,4,5,6,7);这种方法最简单数组可以合并,但出来结构的顺序是array(1,2,3,4,5,6,7)。如果LZ一定坚持要自己的顺序,恐怕只有老老实实自己组成数组了。$a = array(1,2,3,4);$b = array(5,6,7);$c = array($a[0],$b[0],$a[1],$b[1],$a[2],$b[2],$a[3]);var_dump($c);// $c = array(1,5,2,6,3,7,4); <?$a = array(1,2,3,4);$b = array(5,6,7);$c = array_combine(array_slice($a,0,-1),$b);$d = array();foreach($c as $k=>$v){ $d[] = $k; $d[] = $v;}$d[] = $a[count($a)-1];print_r($d);?> 本帖最后由 xuzuning 于 2011-01-17 17:35:25 编辑 $a = array(1,2,3,4);$b = array(5,6,7);foreach($a as $i => $arr){ if(isset($b[$i])){ $out[] = $a[$i]; $out[] = $b[$i]; }else{ $out[] = $a[$i]; }}print_r($out);Array( [0] => 1 [1] => 5 [2] => 2 [3] => 6 [4] => 3 [5] => 7 [6] => 4) 还是建议使用PHP内置的专门用来处理数组合并的函数array_merge<?php$array1 = array("color" => "red", 2, 4);$array2 = array("a", "b", "color" => "green", "shape" => "trapezoid", 4);$result = array_merge($array1, $array2);print_r($result);?> 如果需要按照不规则并且是自定义的顺序来的话,建议使用自定义函数来完成 楼主一定要给分啊!!!以下才是正解!public class AddArray{ public static void main(String []args) { int [] arr1 = {1,2,3,4}; int [] arr2 = {5,6,7}; int [] newArray = addArray(arr1,arr2); System.out.print("合并后的新数组 : "); for(int i=0;i<newArray.length;i++) { System.out.print(" ["+ newArray[i] + "] "); } } public static int [] addArray(int [] arr1, int [] arr2){ int len = arr1.length + arr2.length; int [] newArray=new int[len]; if(arr1.length>=1 && arr2.length>=1) { int temp=0; for(int i=0;i<len;i++) { if(i<arr1.length) { newArray[temp]=arr1[i]; temp++; } if(i<arr2.length) { newArray[temp]=arr2[i]; temp++; } } } return newArray; }} 输出结果:C:\javatest>java AddArray合并后的新数组 : [1] [5] [2] [6] [3] [7] [4]C:\javatest> $a=array(1,2,3,4);$b=array(5,6,7);$c=array_map(null,$a,$b);$d=array();foreach($c as $v) $d=array_merge($d,$v);var_dump($d);注意:这里仅仅只是提供一个思路,因为两组数组个数不等,会有NULL值出现,简单处理+sort就能去除 phpmyadmin运行问题 点击PHP里面地址链接为下载,而不是打开这个链接..??? phpmyadmin3.3.3安装配置问题 php中文件下载的问题 求助:php中调用socket_write()后,怎么清空缓存使其迅速发出?以及如何设置socket的时限?急! 急~~在线等,斜缸问题 php命令行调用,后台运行的问题??? 请问怎样实现再线用手机付费 求html转为pdf中文全是问号解决办法 分销二维码分享功能怎么实现,急 请教PHP中var关键字用与不用的区别 配置Apache+PHP的一点小感受
$a = array(1,2,3,4);
$b = array(5,6,7);
$c = array_merage( $a ,$b);
var_dump($c);
$a = array(1,2,3,4);
$b = array(5,6,7);
$c = array_merge($a ,$b);
var_dump($c);
// $c = array(1,2,3,4,5,6,7);这种方法最简单数组可以合并,但出来结构的顺序是array(1,2,3,4,5,6,7)。
如果LZ一定坚持要自己的顺序,恐怕只有老老实实自己组成数组了。
$a = array(1,2,3,4);
$b = array(5,6,7);
$c = array($a[0],$b[0],$a[1],$b[1],$a[2],$b[2],$a[3]);
var_dump($c);
// $c = array(1,5,2,6,3,7,4);
$a = array(1,2,3,4);
$b = array(5,6,7);
$c = array_combine(array_slice($a,0,-1),$b);
$d = array();
foreach($c as $k=>$v){
$d[] = $k;
$d[] = $v;
}
$d[] = $a[count($a)-1];
print_r($d);
?>
$a = array(1,2,3,4);
$b = array(5,6,7);
foreach($a as $i => $arr){
if(isset($b[$i])){
$out[] = $a[$i];
$out[] = $b[$i];
}else{
$out[] = $a[$i];
}
}
print_r($out);
Array
(
[0] => 1
[1] => 5
[2] => 2
[3] => 6
[4] => 3
[5] => 7
[6] => 4
)
<?php
$array1 = array("color" => "red", 2, 4);
$array2 = array("a", "b", "color" => "green", "shape" => "trapezoid", 4);
$result = array_merge($array1, $array2);
print_r($result);
?>
如果需要按照不规则并且是自定义的顺序来的话,建议使用自定义函数来完成
以下才是正解!
public class AddArray{
public static void main(String []args) {
int [] arr1 = {1,2,3,4};
int [] arr2 = {5,6,7};
int [] newArray = addArray(arr1,arr2);
System.out.print("合并后的新数组 : ");
for(int i=0;i<newArray.length;i++)
{
System.out.print(" ["+ newArray[i] + "] ");
}
}
public static int [] addArray(int [] arr1, int [] arr2){
int len = arr1.length + arr2.length;
int [] newArray=new int[len];
if(arr1.length>=1 && arr2.length>=1)
{
int temp=0;
for(int i=0;i<len;i++)
{
if(i<arr1.length)
{
newArray[temp]=arr1[i];
temp++;
}
if(i<arr2.length)
{
newArray[temp]=arr2[i];
temp++;
}
}
}
return newArray;
}
}
输出结果:C:\javatest>java AddArray
合并后的新数组 : [1] [5] [2] [6] [3] [7] [4]
C:\javatest>
$b=array(5,6,7);
$c=array_map(null,$a,$b);
$d=array();
foreach($c as $v) $d=array_merge($d,$v);
var_dump($d);
注意:这里仅仅只是提供一个思路,因为两组数组个数不等,会有NULL值出现,简单处理+sort就能去除