在php中定義數(shù)據(jù)我們最常用的就是array()來實(shí)現(xiàn)了,當(dāng)然如果你不知道數(shù)組長度可以如array[]這樣來定義未知數(shù)據(jù)長度了,如果要清空數(shù)據(jù)我們可以直unset(array[key])或直接復(fù)值空.
數(shù)據(jù)定義實(shí)例代碼如下:
在本代碼片段的第一行,定義了一個(gè)一維數(shù)組$array,第二行的時(shí)候我們格式化輸出了這個(gè)數(shù)組,結(jié)果是這樣的:
實(shí)例代碼如下:
現(xiàn)在兄弟解釋一下這個(gè)輸出結(jié)果,首先這個(gè)數(shù)組的輸出結(jié)果的第一行,array(3)告訴我們這是個(gè)有三個(gè)元素的數(shù)組,首先0號元素是一個(gè)長度為3的字符串(string(3))…
篇幅關(guān)系剩下兩個(gè)就不說了吧,吼吼……,這說明什么呢?這說明在PHP中如果我們不為數(shù)組指定下標(biāo)的話,那么他就自己自作主張的從零開始給我們弄一個(gè)下標(biāo)出來——也就是PHP數(shù)組中的鍵名;再看看下邊的例子:
實(shí)例代碼如下:
……這一次我們定義數(shù)組的時(shí)候,為第二個(gè)元素指定了下標(biāo)(從此以后,在本文中就叫做鍵名了,下標(biāo)有點(diǎn)含糊不清!),第二個(gè)元素指定了鍵名(hello),咱們再看看輸出結(jié)果:
實(shí)例代碼如下:
我想你也像我一樣看到了一個(gè)很智能的現(xiàn)象,第一個(gè)元素的鍵名還是0——這個(gè)我們可以理解,因?yàn)槲覀儧]有指定,而PHP數(shù)組必須要有一個(gè)鍵名,PHP就自作主張從零開始創(chuàng)立了一個(gè)鍵名;第二個(gè)元素的時(shí)候,我們指定了鍵名,PHP就尊重我們的意見用了這個(gè)鍵名;復(fù)雜的事情在第三個(gè)元素,
第三個(gè)元素,看起來也很簡單,我們沒有指定鍵名,PHP自動(dòng)的把最大整數(shù)鍵名加上1,作為了鍵名.但是大家想過沒有,如果我們把第一個(gè)元素的鍵名修改為“-5”,第二個(gè)元素鍵名不變,結(jié)果會是什么呢?我們拭目以待:
實(shí)例代碼如下:
如果你想當(dāng)然的認(rèn)為,第三個(gè)元素的鍵名應(yīng)該是-4,那么我告訴你在PHP4.3.0之前這個(gè)想法是對的,但是之后就錯(cuò)了,現(xiàn)在也就是PHP4.3.0之后的版本你將看到如下結(jié)果:
實(shí)例代碼如下:
是的第三個(gè)元素是從0開始的,也就是不管你的負(fù)數(shù)有多小,下一個(gè)元素要是讓PHP來定義鍵名的話,那么他就是從0開始——記住這個(gè)地方說的是,在現(xiàn)有的鍵名中如果最大的依然是個(gè)負(fù)數(shù),不管負(fù)數(shù)有多小,PHP也是從零開始下一個(gè)鍵名.
PHP數(shù)組的銷毀很簡單,像銷毀其他變量一樣.
銷毀整個(gè)數(shù)組:unset($array)
銷毀數(shù)組中的一個(gè)元素:unset($array[-5])