• 技术文章 >后端开发 >PHP问题

    创建php数组的方法有哪几种

    青灯夜游青灯夜游2022-05-07 17:44:26原创350

    创建数组的方法:1、利用“$数组名[下标]=值;”语句,以直接赋值的方式创建数组;2、使用“$数组名=array(键名=>值);”语句;3、用array_fill()以填充键值的方式来创建一个新数组;4、用array_combine()等。

    本教程操作环境:windows7系统、PHP7.1版、DELL G3电脑

    php中怎么创建数组?下面本篇文章就来给大家介绍几种创建数组的方法。

    1、直接赋值的方式创建数组

    声明一维数组的语法格式如下所示:

    $数组变量名[下标] = 值;

    其中下标(索引值)可以是一个字符串或一个整数,并且下标需要使用[ ]包裹。

    声明一个索引数组时,如果索引值是递增的,我们也可以不在方括号内指定具体的索引值,这时索引值默认从 0 开始依次增加。

    <?php
    header("Content-type:text/html;charset=utf-8");
    $array[] = '苹果';
    $array[] = '香蕉';
    $array[] = '橘子';
    $array[] = '榴莲';
    var_dump($array);
    ?>

    1.png

    2、使用 array() 函数创建数组

    声明数组的另一种方法是使用 array() 函数来新建一个数组。它接受一定数量用逗号分隔的key=>value参数对。语法格式如下所示:

    $数组变量名 = array(key1 => value1, key2 => value2, ..., keyN => valueN);

    示例1:

    <?php
    header("Content-type:text/html;charset=utf-8");
    $array = array('红色','黄色','蓝色','紫色');
    var_dump($array);
    ?>

    2.png

    示例2:

    <?php
    header("Content-type:text/html;charset=utf-8");
    $array = array("id"=>25,"name"=>"李华","age"=>18);
    var_dump($array);
    ?>

    3.png

    3、使用array_fill()创建数组

    array_fill():会以填充键值的方式来创建一个新数组

    <?php
    $arr=array_fill(0,4,"hello");
    var_dump($arr);
    ?>

    array_fill($index, $number, $value)函数接受3个不可省略的参数$index(起始索引)、$number(填充元素数量)和$value(用于填充的键值)。

    其中,$index参数支持负值,数组索引有以下三种取值情况:

    在上例中,array_fill(0,4,"hello")$index为0(索引从0开始)、$number为4(数组有四个元素),因此数组索引为:0、1、2、3;而$valuehello,则这四个元素的键值都为hello,因此输出结果为:

    1.png

    在看两个示例:

    <?php
    $arr=array_fill(3,4,"hello");
    var_dump($arr);
    ?>

    分析:索引从3开始、到3+4-1=6结束,数组的键值都为hello,因此输出结果为:

    2.png

    <?php
    $arr=array_fill(-2,4,"hello");
    var_dump($arr);
    ?>

    输出结果为:

    3.png

    $value参数不仅可以是单个数值/字符串,也可以是一个数组,那么创建的就是一个二维数组了。

    <?php
    header("Content-type:text/html;charset=utf-8");
    $arr=array_fill(0,4,array("张三",25,"男"));
    var_dump($arr);
    ?>

    输出结果为:

    4.png

    4、使用array_fill_keys()函数

    array_fill_keys():会以填充键名和键值的方式来创建一个新数组

    <?php
    $keys=array("a","b","c","d");
    $arr=array_fill_keys($keys,"hello");
    var_dump($arr);
    ?>

    array_fill_keys($keys,$value)函数接受2个不可省略的参数$keys(包含填充键名的一个数组)、$value(填充键值)。

    简单来说,array_fill_keys()函数会使用$keys数组中元素作为键名,$value作为值来填充出一个新数组。

    从上面的代码示例可以看出:新数组有四个元素,键名分别为“a”、“b”、“c”、“d”;这四个元素的键值都为“hello”,因此输出结果为:

    5.png

    array_fill_keys()和array_fill()函数一样,$value值也可以接受一个数组,那么创建的就是一个二维数组了。

    <?php
    header("Content-type:text/html;charset=utf-8");
    $keys=array("a","b","c","d");
    $arr=array_fill_keys($keys,array("李四",21,"男"));
    var_dump($arr);
    ?>

    输出结果为:

    6.png

    5、使用array_combine()函数

    array_combine()函数可以通过合并两个数组(一个为键名数组,一个为键值数组)来创建一个新数组。

    <?php
    header("Content-type:text/html;charset=utf-8");
    $keys=array("a","b","c","d");
    $values=array("red","green","blue","yellow");
    var_dump($keys);
    var_dump($values);
    echo "使用array_combine()合并数组后:";
    var_dump(array_combine($keys,$values));
    ?>

    输出结果为:

    1.png

    可以看出,上面的示例中使用array_combine($keys,$values)函数通过合并两个数组的方式创建了一个新数组,其中$keys数组中的元素作为了新数组的键名,$values数组的元素为作为了新数组的键值。

    需要注意的是:

    6、使用range() 函数

    range() 函数创建一个包含指定范围的元素的数组。

    语法:

    range(low,high,step)

    该函数返回一个包含从 low 到 high 之间的元素的数组。

    <?php
    header("Content-type:text/html;charset=utf-8");
    var_dump(range(0,5));
    var_dump(range(0,5,2));
    var_dump(range(0,20,5));
    ?>

    7.png

    推荐学习:《PHP视频教程

    以上就是创建php数组的方法有哪几种的详细内容,更多请关注php中文网其它相关文章!

    声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。
    专题推荐:php php数组
    上一篇:php可以直接输出数组吗 下一篇:php怎么去掉字符串前后字符
    千万级数据并发解决方案

    相关文章推荐

    • PHP数组学习之怎样在数组的首尾添加元素?• js数组怎么转为php数组• php数组通过值找键名(key)可以吗• php数组怎么求平均值• php数组的下标默认是什么• php数组怎么查询大于0的元素
    1/1

    PHP中文网