首页 > 后端开发 > PHP问题 > php中数组元素不够怎么填充数组

php中数组元素不够怎么填充数组

青灯夜游
发布: 2023-03-16 12:28:01
原创
2191 人浏览过

PHP填充数组的2种方法:1、通过array_pad()使用指定值将数组填补到指定的长度,语法“array_pad(原数组,长度,指定值)”。2、通过array_fill()使用指定值将数组填充到指定的长度,语法“array_fill(开始填充位置,填充长度,指定值)”。

php中数组元素不够怎么填充数组

本教程操作环境: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(&#39;content-type:text/html;charset=utf-8&#39;);  
$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);
?>
登录后复制

1.png

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(&#39;content-type:text/html;charset=utf-8&#39;);  
$a = array_fill(5, 6, &#39;banana&#39;);  //使用banana填充数组到6个元素, 索引键由数字5开始
$b = array_fill(-2, 4, &#39;pear&#39;);  //使用pear填充数组到4个元素, 索引键由-2开始
$c = array_fill(3, 2, array(1,2,3));  // 用一个数组填充成一个二维数组
var_dump($a);
var_dump($b);
var_dump($c);
?>
登录后复制

2.png

推荐学习:《PHP视频教程

以上是php中数组元素不够怎么填充数组的详细内容。更多信息请关注PHP中文网其他相关文章!

相关标签:
来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板