Array and Dictionary
List structure
- PHP 與 為動態語言,其變數在程序執行中,不需要固定型態別,概念雖和 C++, Java 相似,但極大的不同為
- 內容資料型態不一定相同,
- 記憶體位址不一定固定,
- 幾乎可以在記憶體足夠下,無限串加元素
$newList = array();
array_push($newList,"newElements");
$getElement = array_pop($newList);
if(in_array("checkEles", $newList)) { ... }
$count = 0;
foreach ($newList as $eachEle) {
if($eachEle == "wanted") { break; }
$count = $count + 1;
}
print count($newList);
Hash/Dictionary structure
- 和 list 相同,hash 資料結構在動態語言中亦是相當重要的一環,和 list 不同,hash 提供的是 "鎖" 與 "鑰匙" 的概念,利用一 "key" 可以找到相對應的 "value",但需要注意的是,此 "key" 不能重複。此外因為是雜湊函數的概念建立的資料結構,大部分動態語言的 hash key 的排序不會和加入的順序相同,若是需要有順序的使用 key,則通常需要將過 sort 或 order。
$emptyHashList = array();
$newHashList = array("key1"=>"value1", "key2"=>"value2");
$preparedForDelete = array("k4"=>"v4", "k5"=>"v5");
var_dump($newHashList);
if(array_key_exists("key1", $newHashList)) { echo "Exist"; }
if(! array_key_exists("new_key", $newHashList)) {
$newHashList["new_key"] = "new_value";
}
$preparedForDelete["k5"] = "new_v5";
unset($preparedForDelete["k4"]);
unset($preparedForDelete);
$getAllKey = array_keys($newHashList);
echo count(array_keys($newHashList));