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

    PHP数组学习之如何以填充方式来创建数组

    青灯夜游青灯夜游2021-08-04 18:32:32原创775
    在之前的文章《PHP数组学习之一维数组如何创建和初始化(代码详解)》中,我们介绍了创建数组的两种常规方法:“直接为数组元素赋值”和“array()函数”。今天我们再来谈谈数组的创建,介绍两种另类的数组创建方法,我们来看看吧。

    在PHP中,我们还能够以填充方式来创建新数组,主要用到的函数为:array_fill()和array_fill_keys()。

    下面我们通过代码示例来具体了解一下这两个函数。

    1、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

    2、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

    好了就说到这里了,有其他想知道的,可以点击这个哦。→ →php视频教程

    最后给大家推荐一个PHP数组的免费视频教程:PHP函数之array数组函数视频讲解,快来学习吧!

    以上就是PHP数组学习之如何以填充方式来创建数组的详细内容,更多请关注php中文网其它相关文章!

    声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。
    专题推荐:PHP 数组 填充 创建数组
    上一篇:php闯关之字符串与quoted-printable字符相互转换 下一篇:教你一招设置php地区信息
    VIP课程(WEB全栈开发)

    相关文章推荐

    • 【活动】充值PHP中文网VIP即送云服务器• PHP数组学习之一维数组如何创建和初始化(代码详解)• PHP数组学习之二维数组创建方法浅析• PHP数组学习之如何比较两个数组求交集• PHP数组学习之怎么比较两个数组求差集
    1/1

    PHP中文网