5个让PHP代码更优雅的小技巧
PHP 灵活易用,但也容易写出“面条式”代码。掌握下面几个技巧,能让你的代码更简洁、健壮。
1. 用 ... 解包数组代替 array_merge
合并多个数组时,array_merge 需要逐个传入。PHP 5.6+ 支持 ... 解包,代码更直观:
// 不推荐
$merged = array_merge($arr1, $arr2, $arr3);
// 推荐
$merged = [...$arr1, ...$arr2, ...$arr3];
2. 使用命名参数跳过默认值
PHP 8.0 引入命名参数,调用函数时无需按顺序传参,尤其适合参数很多的函数:
// 只修改第三个参数,其他用默认值
setcookie('user', 'john', httponly: true);
3. match 表达式替代 switch
match 返回值更简洁,且严格比较(===),避免隐式类型转换:
$result = match($status) {
200, 201 => 'OK',
404 => 'Not Found',
default => 'Unknown'
};
4. 用 str_contains() 代替 strpos()
以前判断子串存在需要写 strpos($haystack, $needle) !== false,PHP 8.0 提供了语义清晰的 str_contains:
if (str_contains($url, 'https')) {
... }
5. 数组解构赋值
用 [] 快速将数组元素赋值给变量:
[$name, $age] = ['Alice', 25];
// 或关联数组
['name' => $name, 'age' => $age] = $user;
这些小技巧能让你的 PHP 代码更现代、可读性更高。逐步应用到项目中,体验编码效率的提升吧!