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数组

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