程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> PHP編程 >> 關於PHP編程 >> PHP基礎之數組(1)

PHP基礎之數組(1)

編輯:關於PHP編程

PHP 中的數組實際上是一個有序圖。圖是一種把 values 映射到 keys 的類型。此類型在很多方面做了優化,因此你可以把它當成真正的數組來使用,或列表(矢量),散列表(是圖的一種實現),字典,集合,棧,隊列以及更多可能性。因為可以用另一個 PHP 數組作為值,也可以很容易地模擬樹。

解釋這些結構超出了本手冊的范圍,但對於每種結構你至少會發現一個例子。要得到這些結構的更多信息,我們建議你參考有關此廣闊主題的外部著作。

語法

定義 array()

可以用 array() 語言結構來新建一個 array。它接受一定數量用逗號分隔的 key => value 參數對。

array( [key =>]value     , ...     )// key 可以是 integer 或者 string// value 可以是任何值

 "bar", 12 => true);echo $arr["foo"]; // barecho $arr[12];    // 1?> 

key 可以是 integer 或者 string。如果鍵名是一個 integer 的標准表達方法,則被解釋為整數(例如 "8" 將被解釋為 8,而 "08" 將被解釋為 "08")。PHP 中數組下標的變量類型不會對數組造成影響,數組的類型只有一種,它可以同時包含整型和字符串型的下標。 

值可以是任何值。

 array(6 => 5, 13 => 9, "a" => 42));echo $arr["somearray"][6];    // 5echo $arr["somearray"][13];  // 9echo $arr["somearray"]["a"];  // 42?>  

如果對給出的值沒有指定鍵名,則取當前最大的整數索引值,而新的鍵名將是該值加一。如果你指定的鍵名已經有了值,則該值會被覆蓋。

 43, 32, 56, "b" => 12);// ...this arrayarray(5 => 43, 6 => 32, 7 => 56, "b" => 12);?>  

使用 TRUE 作為鍵名將使 integer 1 成為鍵名。使用 FALSE 作為鍵名將使 integer 0 成為鍵名。使用 NULL 作為鍵名將等同於使用空字符串。使用空字符串作為鍵名將新建(或覆蓋)一個用空字符串作為鍵名的值,這和用空的方括號不一樣。

不能用數組和對象作為鍵名。這樣做會導致一個警告:Illegal offset type。

用方括號的語法新建/修改可以通過明示地設定值來改變一個現有的數組。

這是通過在方括號內指定鍵名來給數組賦值實現的。也可以省略鍵名,在這種情況下給變量名加上一對空的方括號(“[]”)。

$arr[key] = value;$arr[] = value;// key 可以是 integer 或者 string// value 可以為任何值。

如果 $arr 還不存在,將會新建一個。這也是一種定義數組的替換方法。要改變一個值,只要給它賦一個新值。如果要刪除一個鍵名/值對,要對它用 unset()。

 1, 12 => 2);$arr[] = 56;    // This is the same as $arr[13] = 56;               // at this point of the script$arr["x"] = 42; // This adds a new element to               // the array with key "x"unset($arr[5]); // This removes the element from the arrayunset($arr);    // This deletes the whole array?> 

注: 如上所述,如果你給出方括號但沒有指定鍵名,則取當前最大整數索引值,新的鍵名將是該值 + 1。如果當前還沒有整數索引,則鍵名將為 0。如果制定的鍵名已經有值了,該值將被覆蓋。


  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved