ZetCode

PHP array_pad 函数

最后修改于 2025 年 3 月 13 日

PHP 的 array_pad 函数可以将数组填充到指定的长度,并使用指定的值。它对于确保数组满足大小要求非常有用。

基本定义

array_pad 函数通过添加元素来扩展数组到给定的尺寸。如果长度为正数,则在末尾填充;如果为负数,则在开头填充。

语法:array_pad(array $array, int $length, mixed $value): array。该函数返回一个具有指定长度和填充值的新数组。

基本 array_pad 示例

这演示了如何使用默认值将数组填充到更大的尺寸。

basic_array_pad.php
<?php

$numbers = [1, 2, 3];
$padded = array_pad($numbers, 5, 0);

print_r($padded);

这会将数组填充到长度 5,并用零填充。原始元素保留在开头,新的零添加到末尾。

负数长度填充

使用负数长度会在数组开头进行填充,而不是在末尾。

negative_padding.php
<?php

$colors = ['red', 'green'];
$padded = array_pad($colors, -4, 'blue');

print_r($padded);

数组被填充到长度 4,并在开头添加“blue”值。原始元素在新数组中向右移动。

使用不同类型进行填充

填充值可以是任何类型,包括字符串、对象或数组。

mixed_type_padding.php
<?php

$data = ['apple', 'banana'];
$padded = array_pad($data, 4, ['fruit' => 'unknown']);

print_r($padded);

这会用关联数组填充数组。每个新元素都是一个完整的数组,其中“fruit”键设置为“unknown”。

无需填充

当数组已达到请求的长度时,不会发生填充。

no_padding_needed.php
<?php

$values = [10, 20, 30];
$result = array_pad($values, 3, 99);

print_r($result);

数组保持不变,因为其长度与请求的尺寸匹配。在这种情况下,填充值将被忽略。

填充到较小尺寸

如果请求的长度小于数组长度,则不会删除任何元素。

smaller_size.php
<?php

$items = ['a', 'b', 'c', 'd'];
$result = array_pad($items, 2, 'x');

print_r($result);

该函数从不截断数组。当请求的长度小于当前尺寸时,会完整返回原始数组。

最佳实践

来源

PHP array_pad 文档

本教程通过实际示例介绍了 PHP array_pad 函数,展示了其在数组操作场景中的用法。

作者

我叫 Jan Bodnar,是一位充满激情的程序员,拥有丰富的编程经验。我自 2007 年以来一直撰写编程文章。至今,我已撰写了 1400 多篇文章和 8 本电子书。我在教学编程方面拥有十多年的经验。

列出 所有 PHP 数组函数