php 中的數組其實是一個有序的映射(ordered map),
你可以將它用作一個數組,list(vector), hashtable, dictionary, collection,
stack, queue 或者其他的資料結構。
如果用數組作為數組的元素,可以構造出樹。
array() 建立數組
$arr = array("foo" => "bar", 12 => true);
echo $arr["foo"];
echo $arr[12];
?>
key 可以是字串或整數,如果未指定 key, 則該 value 的 key 會被指定為已有的
最大的整數 key + 1. 如:
// This array is the same as ...
array(5 => 43, 32, 56, "b" => 12);
// ...this array
array(5 => 43, 6 => 32, 7 => 56, "b" => 12);
?>
移除一個 key/value 對,用 unset 函數
$arr = array(5 => 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 array
unset($arr); // This deletes the whole array
?>
foreach 文法遍曆數組:
$array = array(1, 2, 3, 4, 5);
print_r($array);
foreach ($array as $i => $value) {
unset($array[$i]);
}
print_r($array);
$array[] = 6;
print_r($array);
// Re-index:
$array = array_values($array);
$array[] = 7;
print_r($array);
?>
foreach 語句在 array 的一個 copy 上進行操作。如果需要修改其元素,要用引用的文法:
(php5)
$arr = array(1, 2, 3, 4);
foreach ($arr as &$value) {
$value = $value * 2;
}
?>
foreach 語句兩種文法:
foreach (array_expression as $value)
statement
foreach (array_expression as $key => $value)
statement
檔案,目錄操作例子:
// fill an array with all items from a directory
$handle = opendir('.');
while (false !== ($file = readdir($handle))) {
$files[] = $file;
}
closedir($handle);
print_r($files);
?>
數組的賦值操作總是值傳遞,要用引用傳遞則必須使用 & 文法:
$arr1 = array(2, 3);
$arr2 = $arr1;
$arr2[] = 4; // $arr2 is changed,
// $arr1 is still array(2, 3)
$arr3 = &$arr1;
$arr3[] = 4; // now $arr1 and $arr3 are the same
?>
日期的處理:
print date('Y-m-d');
輸出:
2005-11-22