PHP 技巧:5个让你代码更优雅的实用函数
写 PHP 多年,有些小技巧能让代码更简洁高效。分享 5 个我常用的函数,希望对你有帮助。
1. 数组解包用 ... 代替 array_merge
// 老写法
$merged = array_merge($arr1, $arr2);
// 更优雅
$merged = [...$arr1, ...$arr2];
注意:索引数组会重新编号,关联数组后者覆盖前者。
2. array_column 快速提取二维数组某列
$users = [
['id' => 1, 'name' => '张三'],
['id' => 2, 'name' => '李四']
];
$names = array_column($users, 'name'); // ['张三', '李四']
还能指定键名:array_column($users, 'name', 'id') 得到 [1=>'张三',2=>'李四']。
3. array_filter 配合箭头函数过滤
$nums = [1,2,3,4,5];
$even = array_filter($nums, fn($n) => $n % 2 === 0); // [2,4]
无需 use 传参,代码更短。
4. str_contains 替代 strpos
PHP 8.0 新增,语义清晰:
// 旧方式
if (strpos($haystack, $needle) !== false) {
}
// 新方式
if (str_contains($haystack, $needle)) {
}
同理还有 str_starts_with() 和 str_ends_with()。
5. 用 match 代替 switch
$result = match($status) {
200 => 'OK',
404 => 'Not Found',
default => 'Unknown'
};
不需要 break,会返回值,也更严格(不会类型转换)。
这些技巧让代码更可读、更安全。你还有什么常用技巧?欢迎分享!