当前位置:首页 > PHP教程 > php数组 > 列表

PHP定义空数组的5种方法:新手入门必看基础

发布:smiling 来源: PHP粉丝网  添加日期:2026-07-11 17:14:47 浏览: 评论:0 

最常用的是[]和array(),另有3种合法写法:PHP 7.4+类型声明结合空数组、array_fill(0,0,null)或range(1,0)等技巧性构造、(array)null等强制类型转换。

PHP定义空数组最常用的是[]和array(),但其实还有3种合法写法——有些在特定场景下更清晰或更安全。

1. 方括号语法(推荐)

PHP 5.4+ 支持简洁的方括号写法,是目前最主流、最易读的方式:

$arr = []; —— 直观、轻量,适合绝大多数情况

兼容性好(5.4及以上),现代框架和代码库普遍采用

比array()少打6个字符,书写效率高

2. array() 函数写法(向后兼容)

PHP 所有版本都支持,适合需要兼容老版本(如 PHP 5.3 或更早)的项目:

$arr = array(); —— 语义明确,新手容易理解

注意:PHP 7.4 起已不推荐用于空数组,但仍是合法语法

如果后续要初始化带值的数组,比如array(1, 2, 3),这种写法仍常见

3. 类型声明 + 空数组(PHP 7.4+)

配合类型声明使用,增强代码可读性和 IDE 提示:

$arr = array(); 或 $arr = []; 都可以配合类型提示

例如:/** @var int[] */ $numbers = [];

或函数返回类型:function getItems(): array { return []; }

这不是“新语法”,而是类型系统与空数组的结合用法

4. 使用 array_fill() 或 range() 构造(特殊需求)

严格来说不算“定义空数组”,但在某些逻辑中可间接实现“清空”或“重置”效果:

$arr = array_fill(0, 0, null); → 返回空数组(长度为0)

$arr = range(1, 0); → 也返回空数组(起始大于结束)

这些属于技巧性写法,不推荐日常使用,仅用于教学或调试理解数组行为

5. 强制类型转换(不推荐但合法)

通过类型转换生成空数组,语法上成立但语义模糊:

$arr = (array) null; → 转换 null 得到空数组

$arr = (array) ''; → 字符串转数组,结果也是[]

这类写法容易引发误解,降低可维护性,新手应避免

仅在处理不确定类型输入(如 API 参数)时,作为防御性转换偶尔出现

实际开发中,优先选[];维护老项目看PHP版本;加类型注解提升协作效率;其余方式了解即可,不必刻意使用。

Tags: PHP定义空数组

分享到: