PHP函数之道:10个让你代码更优雅的函数
PHP是一种非常流行的网络编程语言。在PHP中,函数是非常重要的构件。PHP实际上提供了许多内置函数,可以使编码更加容易。然而,有时候内置函数并不足以解决所有问题。在这种情况下,我们需要自己编写函数。本文将介绍一些优雅的PHP函数,可以帮助你更好地组织代码。
1. array_first() - 返回数组的 个元素
这个函数可以用来返回数组的 个元素,这样你就不需要使用array_shift()函数了。这个函数能够有效地减少你的代码量,并且让你的代码更具可读性。
function array_first($array) {
if (count($array) > 0) {
return $array[0];
}
}
2. array_last() - 返回数组的最后一个元素
这个函数与array_first()函数类似,但是它可以返回数组的最后一个元素。
function array_last($array) {
if (count($array) > 0) {
return $array[count($array)-1];
}
}
3. array_get() - 获取数组的值
这个函数可以用来获取数组中指定键的值。如果该键不存在,则返回默认值。
function array_get($array, $key, $default = null) {
return isset($array[$key]) ? $array[$key] : $default;
}
4. str_contains() - 判断字符串中是否包含指定子串
这个函数可以用来判断一个字符串中是否包含指定的子串。在PHP 8.0之前,可以使用strpos()函数来实现相同的功能,但是在PHP 8.0之后,我们可以使用str_contains()函数。
if (str_contains($string, $sub_string)) {
//包含指定子串
}
5. str_starts_with() - 判断字符串是否以指定前缀开头
这个函数可以用来判断一个字符串是否以指定的前缀开头。在PHP 8.0之前,可以使用strstr()函数来实现相同的功能,但是在PHP 8.0之后,我们可以使用str_starts_with()函数。
if (str_starts_with($string, $prefix)) {
//以指定前缀开头
}
6. str_ends_with() - 判断字符串是否以指定后缀结尾
这个函数可以用来判断一个字符串是否以指定的后缀结尾。在PHP 8.0之前,可以使用substr()函数来实现相同的功能,但是在PHP 8.0之后,我们可以使用str_ends_with()函数。
if (str_ends_with($string, $suffix)) {
//以指定后缀结尾
}
7. in_array_any() - 判断数组中是否存在任一一个指定的值
这个函数可以用来判断一个数组中是否存在任一一个指定的值。该函数的参数可以是一个或多个值,如果任一一个指定的值存在于数组中,则函数返回真,否则返回假。
function in_array_any($needles, $haystack) {
return !!array_intersect($needles, $haystack);
}
8. array_map_keys() - 对数组的键应用指定的回调函数
这个函数可以用来对数组的键应用指定的回调函数。对于每个键,该回调函数将返回一个新的键,形成一个新的数组。
function array_map_keys($callback, $array) {
$result = array();
foreach ($array as $key => $value) {
$result[call_user_func($callback, $key)] = $value;
}
return $result;
}
9. array_pluck() - 返回数组中每个元素的指定属性
这个函数可以用来返回数组中每个元素的指定属性。比如我们有以下数组:
$users = array(
array('name' => 'Tom', 'age' => 20),
array('name' => 'Mike', 'age' => 25),
array('name' => 'John', 'age' => 30),
);
我们可以使用array_pluck()函数来返回每个用户的名字:
$names = array_pluck($users, 'name');
// $names = array('Tom', 'Mike', 'John')
这个函数可以减少循环的嵌套数量,从而使代码更加简洁。
10. array_except() - 返回数组中除指定键以外的所有键值对
这个函数可以用来返回数组中除指定键以外的所有键值对。比如我们有以下数组:
$array = array(
'name' => 'Tom',
'age' => 20,
'gender' => 'male'
);
我们可以使用array_except()函数来返回除'age'键以外的所有键值对:
$result = array_except($array, array('age'));
// $result = array('name' => 'Tom', 'gender' => 'male')
这个函数可以帮助我们更好地组织代码,并减少代码冗余。
总之,PHP函数是编写优秀代码的重要组成部分。上述函数只是一个起点,我们可以根据自己的需求编写更多的优雅函数。
