php数组

作者: FredYJH | 来源:发表于2016-11-07 00:23 被阅读13次

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

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

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

2.类型强制与覆盖示例

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

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

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

3.没有键名的索引数组
<?php
$array = array("foo","hello","world);
var_dump($array);
?>

以上例程会输出:

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

以上例程会输出:

array(4) {
  [0]=>
  string(1) "a"
  [1]=>
  string(1) "b"
  [6]=>
  string(1) "c"
  [7]=>
  string(1) "d"
}
5.访问数组单元
<?php
$array = array(
"foo" => "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() 函数。

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

<?php
// 创建一个简单的数组
$array = array(1, 2, 3, 4, 5);
print_r($array);

// 现在删除其中的所有元素,但保持数组本身不变:
foreach ($array as $i => $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基础精粹

    PHP php数组 php数组之索引数组初始化 PHP数组之索引数组赋值 PHP数组之访问索引数组内容 PHP数组...

  • php哈希冲突攻击解析

    一段攻击代码 插入结果 php5(5.2) php7 php 数组的实现 php 中的数组是 php 中非常好用的...

  • php入门--数组

    在 PHP 中,array() 函数用于创建数组: 数值数组 在 PHP 中,有三种类型的数组:数值数组 - 带有...

  • PHP之each()函数输出空白问题

    each()函数 (PHP 4, PHP 5, PHP 7) each — 返回数组中当前的键/值对并将数组指针向...

  • php多维混合数组转一维数组的函数

    php多维混合数组转一维数组的函数 php语言本身没有将多维数组转为一维数组的函数,但是我们可以自己写一个php函...

  • 1.2 PHP数组

    PHP手册:Array 数组 简介在PHP手册中对Array数组的描述是这样的:PHP 中的数组实际上是一个有序映...

  • PHP常用数组排序算法

    title: PHP常用数组排序算法tags: [PHP,数组,排序,算法] 这几天写到的代码中,用到了许多对数组...

  • 浅析PHP数组的实现

    一. PHP数组特点介绍 php数组可谓是php的核心,其key=>value的存储结构,让我们处理数据可以...

  • php基础__2019-07-03

    php数组原型 php数组其实是一种有序映射(或者说是有序字典)

  • json在js与php解析对应关系

    json在js与php解析后有所不同,php的索引数组对应js的数组,php的关联数组对应js的对象。你要是想让j...

网友评论

      本文标题:php数组

      本文链接:https://www.haomeiwen.com/subject/bobnuttx.html