php专区

 首页 > php专区 > PHP基础 > 数组 > PHP array_merge合并拆分两个数组 - php数组

PHP array_merge合并拆分两个数组 - php数组

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

PHP array_merge合并拆分两个数组

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

实例代码如下:

  1. $arr1=array("a","b","c"); 
  2. $arr2=array("c","d","e"); 
  3. $myarray=array_merge($arr1,$arr2); 
  4. print_r($myarray); 
  5. $myarray=array_unique($myarray); 
  6. print_r($myarray); 
  7. ?> 

实例代码如下:

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

实例代码如下:

  1. echo "rn第一种情况rn";  
  2. $a=array(1,2,3,4,5,6);  
  3. $b=array(7,8,9);  
  4.    
  5. $c=array_merge ($a,$b);  
  6. print_r($c);  
  7. $c=$a+$b;  
  8. print_r($c);  
  9. $c=$b+$a;  
  10. print_r($c);  
  11.    
  12.    
  13. echo "rn第二种情况rn";  
  14. $a=array('a','b','c','d','e','f');  
  15. $b=array('a','x','y');  
  16.    
  17. $c=array_merge ($a,$b);  
  18. print_r($c);  
  19. $c=$a+$b;  
  20. print_r($c);  
  21. $c=$b+$a;  
  22. print_r($c);  
  23.    
  24.    
  25. echo "rn第三种情况rn";  
  26.    
  27. $a=array(  
  28.  1=>'a',  
  29.  2=>'b',  
  30.  3=>'c',  
  31.  4=>'d',  
  32.  5=>'e',  
  33.  6=>'f');  
  34. $b=array(  
  35.  1=>'a',  
  36.  7=>'x',  
  37.  8=>'y');  
  38.    
  39. $c=array_merge ($a,$b);  
  40. print_r($c);  
  41. $c=$a+$b;  
  42. print_r($c);  
  43. $c=$b+$a;  
  44. print_r($c);  
  45. ?> 

结果如下:

  1. 第一种情况  
  2.  
  3. Array  
  4.  
  5. (  
  6.     [0] => 1  
  7.     [1] => 2  
  8.     [2] => 3  
  9.     [3] => 4  
  10.     [4] => 5  
  11.     [5] => 6  
  12.     [6] => 7  
  13.     [7] => 8  
  14.     [8] => 9  
  15. )  
  16. Array  
  17.  
  18. (  
  19.     [0] => 1  
  20.     [1] => 2  
  21.     [2] => 3  
  22.     [3] => 4  
  23.     [4] => 5  
  24.     [5] => 6  
  25. )  
  26. Array  
  27.  
  28. (  
  29.     [0] => 7  
  30.     [1] => 8  
  31.     [2] => 9  
  32.     [3] => 4  
  33.     [4] => 5  
  34.     [5] => 6  
  35. )  
  36.    
  37. 第二种情况  
  38.  
  39. Array  
  40.  
  41. (  
  42.     [0] => a  
  43.     [1] => b  
  44.     [2] => c  
  45.     [3] => d  
  46.     [4] => e  
  47.     [5] => f  
  48.     [6] => a  
  49.     [7] => x  
  50.     [8] => y  
  51. )  
  52. Array  
  53.  
  54. (  
  55.     [0] => a  
  56.     [1] => b  
  57.     [2] => c  
  58.     [3] => d  
  59.     [4] => e  
  60.     [5] => f  
  61. )  
  62. Array  
  63. (  
  64.     [0] => a  
  65.     [1] => x  
  66.     [2] => y  
  67.     [3] => d  
  68.     [4] => e  
  69.     [5] => f  
  70. )  
  71.    
  72. 第三种情况  
  73. Array  
  74. (  
  75.     [0] => a  
  76.     [1] => b  
  77.     [2] => c  
  78.     [3] => d  
  79.     [4] => e  
  80.     [5] => f  
  81.     [6] => a  
  82.     [7] => x  
  83.     [8] => y  
  84. )  
  85. Array  
  86. (  
  87.     [1] => a  
  88.     [2] => b  
  89.     [3] => c  
  90.     [4] => d  
  91.     [5] => e  
  92.     [6] => f  
  93.     [7] => x  
  94.     [8] => y  
  95. )  
  96. Array  
  97. (  
  98.     [1] => a  
  99.     [7] => x  
  100.     [8] => y  
  101.     [2] => b  
  102.     [3] => c  
  103.     [4] => d  
  104.     [5] => e  
  105.     [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代码 

实例代码如下:

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

然后我们使用下负长度:

Php代码 

实例代码如下:

  1. $fruits = array("Apple""Banana""Orange""Pear""Grape""Lemon""Watermelon"); 
  2. $subset = array_slice($fruits, 2, -2); 
  3. print_r($subset); 
  4. // output 
  5. // Array ( [0] => Orange [1] => Pear [2] => Grape ) 
  6. ?> 
分享到:
php中array_merge合并数组详解 - php数组
php中array_merge合并数组详解 array_merge() 函数把两个或多个数组合并为一个数组. 如果键名有重复,该键的键值为最后一个键名对应的值(后面的覆盖前面的).如果数组是数字索引的,则键名会以连续方式重新索引. 注释:如果仅仅向 array_merge() 函数输入了一个数组,且键名是整数,则该函数将...
php从数组中随机抽取一些元素代码 - php...
php从数组中随机抽取一些元素代码 php从数组中随机抽取一些元素代码大家可参考一下. 实例代码如下:
  •         php迷,一个php技术的分享社区,专属您自己的技术摘抄本、收藏夹。
  • 在这里……