php 学习 1

php 中的数组其实是一个有序的映射(ordered map),
你可以将它用作一个数组,list(vector), hashtable, dictionary, collection,
stack, queue 或者其他的数据结构。
如果用数组作为数组的元素,可以构造出树。

array()    创建数组

<?php
$arr = array("foo" => "bar", 12 => true);
echo $arr["foo"];
echo $arr[12];
?>

key 可以是字符串或整数,如果未指定 key, 则该 value 的 key 会被指定为已有的
最大的整数 key + 1. 如:
<?php
// 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 函数

<?php
$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 语法遍历数组:

<?php
$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)

<?php
$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
 

文件,目录操作例子:

<?php
// fill an array with all items from a directory
$handle = opendir('.');
while (false !== ($file = readdir($handle))) {
    $files[] = $file;   
}
closedir($handle);
print_r($files);
?>

数组的赋值操作总是值传递,要用引用传递则必须使用 & 语法:

<?php
$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

posted on 2005-11-22 18:22  NeilChen  阅读(...)  评论(... 编辑 收藏

导航

统计