创建数组的方法: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); ?>
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:
<?php header("Content-type:text/html;charset=utf-8"); $array = array("id"=>25,"name"=>"李华","age"=>18); var_dump($array); ?>
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
参数支持负值,数组索引有以下三种取值情况:
如果为正数,则数组索引从
$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); ?>
输出结果为:
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
”,因此输出结果为:
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); ?>
输出结果为:
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)); ?>
输出结果为:
可以看出,上面的示例中使用array_combine($keys,$values)
函数通过合并两个数组的方式创建了一个新数组,其中$keys
数组中的元素作为了新数组的键名,$values
数组的元素为作为了新数组的键值。
需要注意的是:
使用array_combine()函数创建数组时,$keys数组和$values数组中的元素个数必须要一致,这才能让键名和键值一一对应,否则就会报错并返回 FALSE
$keys数组不可为多维数组,但$values数组可以为多维数组。
6、使用range() 函数
range() 函数创建一个包含指定范围的元素的数组。
语法:
range(low,high,step)
low 必需。规定数组元素的最小值。
high 必需。规定数组元素的最大值。
step 可选。规定元素之间的步进制。默认是 1。
该函数返回一个包含从 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)); ?>
推荐学习:《PHP视频教程》
以上就是创建php数组的方法有哪几种的详细内容,更多请关注自由互联其它相关文章!