PHP數組的定義與銷毀

來源:互聯網
上載者:User

資料定義

 代碼如下 複製代碼

……
$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])

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.