array_pad()

1. 定义

该函数将特定值填充一定数量至数组。 返回填充后的新数组。

注:

  • 新数组的长度由第二个参数决定,正负号只决定填充方向
  • 每次最多填充 1048576 个元素

2. 语法

array_pad ( array $array , int $size , mixed $value ) : array

3. 参数说明

参数 可选性 数据类型 描述
$array 必需 数组 待填充的数组(填充后该数组没有变化)
$size 必需 整型 填充后的数组大小(正负号只代表填充方向)
$value 必需 mixed 填充值

其中,如果$size的绝对值小于原数组的长度,则不发生填充,但是会截断原数组(原数组不受影响)。

4. 示例

<?php

// array_pad()
// 将特定值填充一定数量至数组

$arr = [1, 2, 3];

// 大于原数组的长度
$size = 5;
$value = '毫无感情的填充机器';
$res = array_pad($arr, $size, $value);
var_dump($res);
/* 
array(5) {
  [0]=>
  int(1)
  [1]=>
  int(2)
  [2]=>
  int(3)
  [3]=>
  string(27) "毫无感情的填充机器"
  [4]=>
  string(27) "毫无感情的填充机器"
}
*/

// 绝对值小于或等于原数组长度时,不进行填充,但返回的新数组只有 原数组的前 |`$size`| 个元素
$size = 2;
$res = array_pad($arr, $size, $value);
var_dump($res);
/* 
array(3) {
  [0]=>
  int(1)
  [1]=>
  int(2)
  [2]=>
  int(3)
}
*/

// $size 为负值时,$value 被填充到数组的左侧
$size = -5;
$res = array_pad($arr, $size, $value);
var_dump($res);
/* 
array(5) {
  [0]=>
  string(27) "毫无感情的填充机器"
  [1]=>
  string(27) "毫无感情的填充机器"
  [2]=>
  int(1)
  [3]=>
  int(2)
  [4]=>
  int(3)
}
*/

5. 延展阅读

  • array_fill():使用指定值填充数组的多个元素
  • range():根据指定的起始字符(数字或字母)到指定的终止字符,来创建一个包含该范围内元素的数组