原文位址:http://blog.163.com/[email protected]/blog/static/16290113820124411231846/
拆分數組
PHP數組添加一個元素的方式: push(), arr[],
Php代碼
- $arr = array();
- array_push($arr, el1, el2 ... eln);
但其實有一種更直接友善的做法:
Php代碼
- $arr = array();
- $arr[] = el1;
- $arr[] = el2;
- ...
- $arr[] = eln;
而且有實驗證明,第二種方法的效率比第一種方法高出将近一倍!
我們來看下面的例子:
Php代碼
- $t = microtime(true);
- $array = array();
- for($i = 0; $i < 10000; $i++) {
- $array[] = $i;
- }
- print microtime(true) - $t;
- print '<br>';
- $t = microtime(true);
- $array = array();
- for($i = 0; $i < 10000; $i++) {
- array_push($array, $i);
- }
- print microtime(true) - $t;
運作腳本,結果為:
寫道 Run 1
0.0054171085357666 // array_push
0.0028800964355469 // array[]
Run 2
0.0054559707641602 // array_push
0.002892017364502 // array[]
Run 3
0.0055501461029053 // array_push
0.0028610229492188 // array[]
其他方法:
1.在數組末尾添加一個或多個元素。
array_push() 将 array 當成一個棧,并将傳入的變量壓入 array 的末尾。array 的長度将根據入棧變量的數目增加。
php代碼執行個體:
<?php
$arr1 = array("a", "b");
array_push($arr1, "c", "d");
print_r($arr1);
?>
運作結果:
Array
(
[0] => a
[1] => b
[2] => c
[3] => d
)
注:如果第一個參數不是數組,array_push() 将發出一條警告。
2.删除數組末尾的一個元素。
array_pop() 彈出并傳回 array 數組的最後一個單元,并将數組 array 的長度減一。如果 array 為空(或者不是數組)将傳回 NULL。
php代碼執行個體:
<?php
$arr1 = array("a", "b","c","d");
array_pop($arr1);
print_r($arr1);
?>
運作結果:
Array
(
[0] => a
[1] => b
[2] => c
)
3.在數組的開始添加一個或多個元素。
array_unshift() 将傳入的單元插入到 array 數組的開頭。注意單元是作為整體被插入的,是以傳入單元将保持同樣的順序。所有的數值鍵名将修改為從零開始重新計數,所有的文字鍵名保持不變。
php代碼執行個體:
<?php
$arr1 = array("c","d");
array_unshift($arr1,"a","b");
print_r($arr1);
?>
運作結果:
Array
(
[0] => a
[1] => b
[2] => c
[3] => d
)
4.删除數組第一個元素。
array_shift() 将 array 的第一個單元移出并作為結果傳回,将 array 的長度減一并将所有其它單元向前移動一位。所有的數字鍵名将改為從零開始計數,文字鍵名将不變。如果 array 為空(或者不是數組),則傳回 NULL。
php代碼執行個體:
<?php
$arr1 = array("a","b","c","d");
echo (array_shift($arr1));
print_r($arr1);
?>
運作結果:
a
Array
(
[0] => b
[1] => c
[2] => d
)