好得很程序员自学网

<tfoot draggable='sEl'></tfoot>

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

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

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

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 参数支持负值,数组索引有以下三种取值情况:

如果为正数,则数组索引从 $index 值开始,到 $index+$number-1 值结束。例 $index 为2, $number 为4,则数组索引为:2、3、4、5。

如果为0,则数组索引从 0 开始,到 $number-1 值结束。例 $index 为0, $number 为4,则数组索引为:0、1、2、3。

如果为负数,则数组索引由 $index , 0 , 1 , 2 , ..., $number-2 组成。例 $index 为-2, $number 为4,则数组索引为:-2、0、1、2。

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

在看两个示例:

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

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

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

输出结果为:

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

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

输出结果为:

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 ”,因此输出结果为:

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

输出结果为:

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

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

以上就是PHP数组学习之如何以填充方式来创建数组的详细内容!

查看更多关于PHP数组学习之如何以填充方式来创建数组的详细内容...

  阅读:41次