• PHP数组简介


    一、创建数组

    在PHP中可以使用array( [ index=>values ] )这个语言结构来声明一个数组。数组的元素可以是任意类型,也包括数组,因此多维数组也是支持的。

    <?php
    $fruits = array (
        "fruits"  => array("a" => "orange", "b" => "banana", "c" => "apple"),
        "numbers" => array(1, 2, 3, 4, 5, 6),
        "holes"   => array("first", 5 => "second", "third")
    );
    ?>

    说明:语法"index=>values",用逗号分隔开,定义了索引和值,索引可以是字符串或数字。如果省略索引,则会自动产生从0开始的整数索引。而且,如果定义了两个一样的索引,则后一个会覆盖前一个。

     

    二、常见数组函数

    1.array_pad( ) - 以指定长度将一个值填充进数组,语法为:

    array array_pad ( array $array , int $size , $value )

    函数简介:array是需要被填充的原始数组,size是填充后新数组的长度,value是将被填充的值。这个函数会返回一个填充后的数组,数组的长度为size,是在原数组的基础上填充若干个value得来的。

    <?php
    $input = array(12, 10, 9);
    
    $result = array_pad($input, 5, 0);
    // result is array(12, 10, 9, 0, 0)
    
    $result = array_pad($input, -7, -1);
    // result is array(-1, -1, -1, -1, 12, 10, 9)
    
    $result = array_pad($input, 2, "noop");
    // not padded
    ?>

    说明:size的值很重要,如果size为正填充将在数组的右侧发生,如果size为负填充将在数组的左侧发生,如果size的绝对值小于或等于原数组的长度则不做任何填充。另外,函数只是返回一个副本数组,原始数组并不会被改变。

    2.list() - 把数组中的值赋给一组变量,可以在单次操作中就为一组变量赋值,例如

    <?php
    
    $info = array('coffee', 'brown', 'caffeine');
    
    // 列出所有变量
    list($drink, $color, $power) = $info;
    echo "$drink is $color and $power makes it special.
    ";
    
    // 列出他们的其中一个
    list($drink, , $power) = $info;
    echo "$drink has $power.
    ";
    
    // 或者让我们跳到仅第三个
    list( , , $power) = $info;
    echo "I need $power!
    ";
    
    // list() 不能对字符串起作用
    list($bar) = "abcde";
    var_dump($bar); // NULL
    ?>

    3.count() - 计算数组中的单元数目。语法:

    int count ( $array [, int $mode = COUNT_NORMAL ] )

    函数简介:array是要计算的数组; mode是可选参数,若设为COUNT_RECURSIVE(或),count()将递归地对数组计数。对计算多维数组的所有单元尤其有用。

    <?php
    $food = array('fruits' => array('orange', 'banana', 'apple'),
                  'veggie' => array('carrot', 'collard', 'pea'));
    
    // recursive count
    echo count($food, COUNT_RECURSIVE); // output 8
    
    // normal count
    echo count($food); // output 2
    
    ?>

    4.range() - 建立一个包含指定范围单元的数组,语法:

    array range ( $start ,$end [, number $step = 1 ] )

    函数简介:start是序列的第一个值,end则标识序列的结束,step设置生成序列的步长,应设为正数,默认为1.

    <?php
    //  step 参数
    // array(0, 10, 20, 30, 40, 50, 60, 70, 80, 90, 100)
    foreach (range(0, 100, 10) as $number) {
        echo $number;
    }
    
    // 字符序列的使用
    // array('a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i');
    foreach (range('a', 'i') as $letter) {
        echo $letter;
    }
    ?>

    5.foreach() - 该语法结构提供了遍历数组的简单方式,有两种语法:

    foreach (array_expression as $value)
        statement
    foreach (array_expression as $key => $value) statement

    第一种格式遍历给定的 array_expression 数组。每次循环中,当前单元的值被赋给 $value 并且数组内部的指针向前移一步。

    第二种格式做同样的事,除此之外,当前单元的键名也会在每次循环中被赋给变量 $key。

    可以很容易地通过在 $value 之前加上 & 来修改数组的元素。此方法将以引用赋值而不是拷贝一个值。

    <?php
    $arr = array(1, 2, 3, 4);
    foreach ($arr as &$value) {
        $value = $value * 2;
    }
    // $arr is now array(2, 4, 6, 8)
    unset($value); // 最后取消掉引用
    ?>

    注意:数组最后一个元素的 $value 引用在 foreach 循环之后仍会保留,建议使用unset()将其销毁。

  • 相关阅读:
    python爬虫中遇到的问题以及解决方法
    python爬虫中涉及json数据的处理
    python——selenium库的使用
    python数据可视化(一)——绘制随机漫步图
    Python练习题——用列表的方法输出杨辉三角
    python——使用xlwing库进行Excel操作
    DesignPattern_Java:Factory Method Pattern
    eclipse导出可执行的jar包
    DesignPattern_Java:SingletonPattern
    DesignPattern_Java:设计模式分类和设计原则
  • 原文地址:https://www.cnblogs.com/jxc321/p/9125065.html
Copyright © 2020-2023  润新知