萬盛學電腦網

 萬盛學電腦網 >> 網絡編程 >> php編程 >> PHP數組的定義與銷毀

PHP數組的定義與銷毀

在php中定義數據我們最常用的就是array()來實現了,當然如果你不知道數組長度可以如array[]這樣來定義未知數據長度了,如果要清空數據我們可以直接unset(array[key])或直接復值空。

數據定義

 代碼如下 復制代碼

……
$array = array('one','two','three');
var_dump($array);
……

在本代碼片段的第一行,定義了一個一維數組$array,第二行的時候我們格式化輸出了這個數組,結果是這樣的:

 代碼如下 復制代碼

array(3) {
[0]=>
string(3) "one"
[1]=>
string(3) "two"
[2]=>
string(5) "three"
}

現在兄弟解釋一下這個輸出結果,首先這個數組的輸出結果的第一行,
array(3)告訴我們這是個有三個元素的數組,
首先0號元素是一個長度為3的字符串(string(3))…
篇幅關系剩下兩個就不說了吧,吼吼……,這說明什麼呢?這說明在PHP中如果我們不為數組指定下標的話,那麼他就自己自作主張的從零開始給我們弄一個下標出來——也就是PHP數組中的鍵名;再看看下邊的例子:

 代碼如下 復制代碼 ……
$array = array('one',”hello”=>'two','three');
var_dump($array);

……這一次我們定義數組的時候,為第二個元素指定了下標(從此以後,在本文中就叫做鍵名了,下標有點含糊不清!),第二個元素指定了鍵名(hello),咱們再看看輸出結果:

 代碼如下 復制代碼

array(3) {
[0]=>
string(3) "one"
["hello"]=>
string(3) "two"
[1]=>
string(5) "three"
}

我想你也像我一樣看到了一個很智能的現象,第一個元素的鍵名還是0——這個我們可以理解,因為我們沒有指定,而PHP數組必須要有一個鍵名,PHP就自作主張從零開始創立了一個鍵名;第二個元素的時候,我們指定了鍵名,PHP就尊重我們的意見用了這個鍵名;復雜的事情在第三個元素,

第三個元素,看起來也很簡單,我們沒有指定鍵名,PHP自動的把最大整數鍵名加上1,作為了鍵名。但是大家想過沒有,如果我們把第一個元素的鍵名修改為“-5”,第二個元素鍵名不變,結果會是什麼呢?我們拭目以待:

 代碼如下 復制代碼 ……
$array = array(-5=>'one',"hello"=>'two','three');
var_dump($array);
……

如果你想當然的認為,第三個元素的鍵名應該是-4,那麼我告訴你在PHP4.3.0之前這個想法是對的,但是之後就錯了,現在也就是PHP4.3.0之後的版本你將看到如下結果:

 代碼如下 復制代碼

array(3) {
[-5]=>
string(3) "one"
["hello"]=>
string(3) "two"
[0]=>
string(5) "three"
}

是的第三個元素是從0開始的,也就是不管你的負數有多小,下一個元素要是讓PHP來定義鍵名的話,那麼他就是從0開始——記住這個地方說的是,在現有的鍵名中如果最大的依然是個負數,不管負數有多小,PHP也是從零開始下一個鍵名。

PHP數組的銷毀很簡單,像銷毀其他變量一樣。
銷毀整個數組:unset($array)
銷毀數組中的一個元素:unset($array[-5])

copyright © 萬盛學電腦網 all rights reserved