對數組的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 )
- ?>
新聞熱點
疑難解答