PHP 程式設計/資料結構
外觀
< PHP 程式設計
PHP 具有一個稱為“變數變數”的遺留概念。這是一種更舊、更有限的程式設計概念,它出現在複合資料結構可用之前。由於 PHP 語言現在支援複合資料結構,變數變數的概念實質上已經過時。
PHP 手冊指出
"Sometimes it is convenient to be able to have variable variable names. That is, a variable name which can be set and used dynamically."
這種方法在歷史上被用在不支援複合資料結構的程式語言中。PHP 中沒有可以使用變數獲得的程式函式或演算法,而不能透過複合資料結構獲得。
此外,“變數變數”容易出錯,並且需要更多維護開銷。
資料結構是使用常規 PHP 變數表示複合實體的方式。
熟悉資料庫設計和資料庫實現的人知道資料庫規範化的概念。
PHP 中的資料結構表示一個類似的概念。在處理複雜概念並將它們表示在 PHP 中時,資料結構是一種將 PHP 變數規範化以一致且統一地表示覆雜概念的方式。
- 字串是一種表示單個值(又稱標量)的結構
- 陣列是一種表示值列表(又稱向量)的結構
字串示例
$person_name = 'Alice';
陣列示例
$person_names = Array( 0=> 'Alice', 1=> 'Bob', 2=> 'Charlie', );
$alice_info = Array( 0=> 'Alice', 1=> 'Female', 2=> '26', 3=> 'alice@example.com', );
- 簡單字典是一種表示無序的名稱-值對序列的結構。在原生 PHP 中,這是使用標準陣列以及字串作為索引來完成的。
- 簡單序列是一種表示有序值序列的結構。在原生 PHP 中,這是使用標準陣列以及數字索引來完成的。
- 簡單表(aod)是一個或多個簡單字典的有序序列,其中每個簡單字典例項具有匹配的名稱。
- 簡單表(aoa)是一個或多個簡單序列的序列,其中每個簡單序列例項具有對應的索引。
方括號方法允許您透過直接設定值來進行設定。例如,要使 $foobar[1] = $foo,您只需執行以下操作
簡單字典示例
$person_names = Array( 'person1'=> 'Alice', 'person2'=> 'Bob', 'person3'=> 'Charlie', );
$alice_info = Array( 'first_name'=> 'Alice', 'sex'=> 'Female', 'age'=> '26', 'email'=> 'alice@example.com', );
簡單字典示例
$user_profile = Array(
main => Array(
first_name => "Archibald",
last_name => "Shaw",
sex => "male",
age => "33",
),
guardian => Array(
first_name => "",
last_name => "",
),
children => Array(
0 => Array(
first_name => "Sally",
last_name => "Shaw",
),
1 => Array(
first_name => "Scott",
last_name => "Shaw",
),
),
);