| 日 | 一 | 二 | 三 | 四 | 五 | 六 |
| 1 | 2 | 3 | 4 | |||
| 5 | 6 | 7 | 8 | 9 | 10 | 11 |
| 12 | 13 | 14 | 15 | 16 | 17 | 18 |
| 19 | 20 | 21 | 22 | 23 | 24 | 25 |
| 26 | 27 | 28 | 29 | 30 | 31 |
[复位日记]
网站统计
·今日访问 : 305
·页面点击 : 543
·当前在线 : 2
2025年10月2日 星期四[阅读 111]
PHP中的 list 函数将确定长度的数组进行拆解,将数组元素解析为变量。例如:
- $arr = [60, 100, 78];
- list($num1, $num2, $num3) = $arr;
上例,三个变量 $num1、$num2、$num3 分别得到 60、100、78,但如果这么使用 list 函数则会报错:
- $arr = [60, 100, 78];
- list($num1, $num2, $num3, $num4) = $arr;
数组长度是 3,现在要从中读出 4 个数组元素,数组偏移量越界。
当批量使用处理固定长度的数组,但不保证每一个数组长度都准确,可以做一些处理以免报错:
- $arr = [60, 100, 78];
- list($num1, $num2, $num3, $num4) = array_pad($arr, 4, null);
就是对待解析数组 $arr 进行无害填充,确保它的元素时 4 个,如果不足 4 个则使用 null 填补。这样就不会出现解析时的偏移错误,相较于在表达式前使用 @ 好得多,不过这时姑且之法,只是避免报错,真正解决问题还得从数组的数据结构入手。
发表评论:

