今天在测试生成指定长度的数组的时候发现使用 array_pad() 函数无法实现,结果测试之后发现自己出现了使用错误,在这记录一下。
需求描述:
- 生成一个共有n个元素的数组,
- 并且使用数字 0 填充。
代码:
// 定义一个空数组 | array $arr
$arr = [];
// 定义生成数组的长度 | int $range
$range = 7;
// 错误写法
array_pad($arr, $range, 0);
/*
结果:
array(0) {
}
*/
// 正确写法
$arr = array_pad($arr, $range, 0);
/*
结果:
array(7) {
[0] =>
int(0)
[1] =>
int(0)
[2] =>
int(0)
[3] =>
int(0)
[4] =>
int(0)
[5] =>
int(0)
[6] =>
int(0)
}
*/
解释:
array_pad() 方法是有返回值的,所以需要使用变量去接收 array_pad() 的结果,即:
$arr = array_pad($arr, n, 0);