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 "rn第一种情况rn" ; $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 "rn第二种情况rn" ; $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 "rn第三种情况rn" ; $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 ) ?>查看更多关于PHP array_merge合并拆分两个数组 - php数组的详细内容...
声明:本文来自网络,不代表【好得很程序员自学网】立场,转载请注明出处:http://www.haodehen.cn/did31317