php数组

PHP 中的数组实际上是一个有序映射。映射是一种把 values 关联到 keys 的类型。

1.简单例子
 "bar",
"hello" => "world",
);  
//php5.4
$array = [
 "foo" => "bar",
"hello" => "world",
];
?>

key 可以是integer或者string.value可以是任意类型。

2.类型强制与覆盖示例

如果在数组定义中多个单元都使用了同一个键名,则只使用了最后一个,之前的都被覆盖了。

 "a",
"1"  => "b",
1.5  => "c",
true => "d",
);
var_dump($array);
?>

上例中所有的键名都被强制转换为 1,则每一个新单元都会覆盖前一个的值,最后剩下的只有一个 "d"。

3.没有键名的索引数组

以上例程会输出:

array(4) {
 [0]=>
string(3) "foo"
[1]=>
string(3) "bar"
[2]=>
string(5) "hallo"
[3]=>
string(5) "world"
}
4.仅对部分单元指定键名
 "c",
     "d",
);
var_dump($array);
?>

以上例程会输出:

array(4) {
  [0]=>
  string(1) "a"
  [1]=>
  string(1) "b"
  [6]=>
  string(1) "c"
  [7]=>
  string(1) "d"
}
5.访问数组单元
 "bar",
42    => 24,
"multi" => array(
     "dimensional" => array(
         "array" => "foo"
         )
    )
);

var_dump($array["foo"]);
var_dump($array[42]);
var_dump($array["multi"]["dimensional"]   ["array"]);
?>

以上例程会输出:

string(3) "bar"
int(24)
string(3) "foo"

方括号和花括号可以互换使用来访问数组单元(例如 $array[42] 和 $array{42} 在上例中效果相同)。

6.新建、修改

要修改某个值,通过其键名给该单元赋一个新值。要删除某键值对,对其调用 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 array

unset($arr);    // This deletes the whole array
?>

 $value) {
    unset($array[$i]);
}
print_r($array);

// 添加一个单元(注意新的键名是 5,而不是你 可能以为的 0)
$array[] = 6;
print_r($array);

// 重新索引:
$array = array_values($array);
$array[] = 7;
print_r($array);
?>

输出结果:

Array
(
    [0] => 1
    [1] => 2
    [2] => 3
    [3] => 4
    [4] => 5
)
Array
(
)
Array
(
     [5] => 6
)
Array
(
    [0] => 6
    [1] => 7
)

你可能感兴趣的:(php数组)