php中数组元素不够怎么填充数组
PHP填充数组的2种方法:1、通过array_pad()使用指定值将数组填补到指定的长度,语法“array_pad(原数组,长度,指定值)”。2、通过array_fill()使用指定值将数组填充到指定的长度,语法“array_fill(开始填充位置,填充长度,指定值)”。
本教程操作环境:windows7系统、PHP8.1版、DELL G3电脑
PHP提供了2种填充数组至指定长度的函数:
-
array_pad():用给定的值填充数组
-
array_fill():以填充数据的方式创建新数组
1、使用array_pad()填充数组
array_pad() 函数可以使用某个值将数组填补到指定的长度,其语法如下:
array array_pad ( array $arr, int $size , mixed $value )
参数说明:
- arr 表示要填充的数组。
- size 表示要填充到的长度:
- 如果 size 为正数,就填充到数组的右侧;
- 如果 size 为负数,就从左侧开始填充;
- 如果 size 的绝对值小于等于 arr 数组的长度,就没有任何填充。
- value 表示要填充的值。
array_pad() 函数会使用值 value 将数组 arr 填充到长度 size。
返回值:返回填充后的数组。返回的数组只是一个副本,原数组不会被改变。
使用示例如下:
<?php header('content-type:text/html;charset=utf-8'); $arr = array(12, 10, 9); $result = array_pad($arr, 5, 0); //从数组右侧开始, 用0填补数组到含有5个元素 var_dump($result); $result = array_pad($arr, -7, -1); //从数组左侧开始, 用-1填补数组到含有7个元素 var_dump($result); $result = array_pad($arr, 2, "noop"); // 第二个参数小于数组长度, 不填补 var_dump($result); ?>
2、使用array_fill()填充数组
array_fill() 函数会以填充数据的方式创建一个新数组,或者说使用某个值将数组填充到指定的长度,其语法如下:
array array_fill ( int $start_index , int $num , mixed $value )
参数说明:
- start_index 表示数组索引,也即从哪里开始填充数组:
- 如果 start_index 为非负数,数组的索引将从 start_index 开始,直到 start_index + num – 1 结束;
- 如果 start_index 为负数,数组的索引将由 start_index, 0, 1, 2, …, num-1 组成。
- num 表示要填充到的长度。
- value 表示要填充的值。
array_fill() 将会创建一个新数组,该数组包含 num 个元素,每个元素的值都是 value。和 array_pad() 不同,array_fill() 会以填充的方式创建一个新数组,而不是基于原有数组。
返回值:返回填充后的新数组。
使用示例如下:
<?php header('content-type:text/html;charset=utf-8'); $a = array_fill(5, 6, 'banana'); //使用banana填充数组到6个元素, 索引键由数字5开始 $b = array_fill(-2, 4, 'pear'); //使用pear填充数组到4个元素, 索引键由-2开始 $c = array_fill(3, 2, array(1,2,3)); // 用一个数组填充成一个二维数组 var_dump($a); var_dump($b); var_dump($c); ?>
推荐学习:《PHP视频教程》