首页 > php数组 > PHP array_merge合并拆分两个数组

PHP array_merge合并拆分两个数组

对数组的array_merge函数和+运算符比较迷惑,写了个小程序比较下发现了他们的不同. 特别是+运算符,他的意思是,将右边的数组单元(去重复)追加到左边数组的后面.

实例代码如下:

<?php 
$arr1=array("a","b","c"); 
$arr2=array("c","d","e"); 
$myarray=array_merge($arr1,$arr2); 
print_r($myarray); 
$myarray=array_unique($myarray); 
print_r($myarray); 
?>

实例代码如下:

<?php 
$array1=array(1, 2);//数组1 
$array2=array(2, 3);//数组2 
$array3=array_merge($array1, $array2);//合并数组; 
$array3=array_unique($array3);//移除数组中重复的值 
?>

实例代码如下:

<?php  
echo "\r\n第一种情况\r\n";  
$a=array(1,2,3,4,5,6);  
$b=array(7,8,9);  
   
$c=array_merge ($a,$b);  
print_r($c);  
$c=$a+$b;  
print_r($c);  
$c=$b+$a;  
print_r($c);  
echo "\r\n第二种情况\r\n";  
$a=array('a','b','c','d','e','f');  
$b=array('a','x','y');  
   
$c=array_merge ($a,$b);  
print_r($c);  
$c=$a+$b;  
print_r($c);  
$c=$b+$a;  
print_r($c);  
echo "\r\n第三种情况\r\n";  
   
$a=array(  
 1=>'a',  
 2=>'b',  
 3=>'c',  
 4=>'d',  
 5=>'e',  
 6=>'f');  
$b=array(  
 1=>'a',  
 7=>'x',  
 8=>'y');  
   
$c=array_merge ($a,$b);  
print_r($c);  
$c=$a+$b;  
print_r($c);  
$c=$b+$a;  
print_r($c);  
?>

结果如下:

第一种情况  

Array  
(  
[0] => 1  
[1] => 2  
[2] => 3  
[3] => 4  
[4] => 5  
[5] => 6  
[6] => 7  
[7] => 8  
[8] => 9  
)  
Array  
 
(  
[0] => 1  
[1] => 2  
[2] => 3  
[3] => 4  
[4] => 5  
[5] => 6  
)  
Array  
 
(  
[0] => 7  
[1] => 8  
[2] => 9  
[3] => 4  
[4] => 5  
[5] => 6  
)

第二种情况  

Array  
 
(  
[0] => a  
[1] => b  
[2] => c  
[3] => d  
[4] => e  
[5] => f  
[6] => a  
[7] => x  
[8] => y  
)  
Array  
 
(  
[0] => a  
[1] => b  
[2] => c  
[3] => d  
[4] => e  
[5] => f  
)  
Array  
(  
[0] => a  
[1] => x  
[2] => y  
[3] => d  
[4] => e  
[5] => f  
)

第三种情况  

Array  
(  
[0] => a  
[1] => b  
[2] => c  
[3] => d  
[4] => e  
[5] => f  
[6] => a  
[7] => x  
[8] => y  
)  
Array  
(  
[1] => a  
[2] => b  
[3] => c  
[4] => d  
[5] => e  
[6] => f  
[7] => x  
[8] => y  
)  
Array  
(  
[1] => a  
[7] => x  
[8] => y  
[2] => b  
[3] => c  
[4] => d  
[5] => e  
[6] => f  
)

拆分数组 array_slice()

array_slice()函数将返回数组中的一部分,从键offset开始,到offset+length位置结束.其形式:

Php代码  

1.array array_slice (array array, int offset[,int length])  

array array_slice (array array, int offset[,int length])    

offset 为正值时,拆分将从距数组开头的offset 位置开始;如果offset 为负值,则拆分从距数组末尾的offset 位置开始.如果省略了可选参数length,则拆分将从offset 开始,一直到数组的最后一个元素.如果给出了length 且为正数,则会在距数组开头的offset+length 位置结束.相反,如果给出了length且为负数,则在距数组开头的count(input_array)-|length|位置结束.考虑一个例子:

Php代码 

实例代码如下:

<?php 
$fruits = array("Apple", "Banana", "Orange", "Pear", "Grape", "Lemon", "Watermelon"); 
$subset = array_slice($fruits, 3); 
print_r($subset); 
// output 
// Array ( [0] => Pear [1] => Grape [2] => Lemon [3] => Watermelon ) 
?>

然后我们使用下负长度:

Php代码 

实例代码如下:

<?php 
$fruits = array("Apple", "Banana", "Orange", "Pear", "Grape", "Lemon", "Watermelon"); 
$subset = array_slice($fruits, 2, -2); 
print_r($subset); 
// output 
// Array ( [0] => Orange [1] => Pear [2] => Grape ) 
 
?>


本文地址:http://www.phprm.com/shuzu/fs2336.html

转载随意,但请附上文章地址:-)

标签:数组 两个

相关文章

发表留言