PHP是一种广泛使用的脚本语言,其功能十分强大,包括处理数组、字符串、日期和文件等等。在PHP中,经常需要处理数组,而数组中可能会包含空元素。为了处理这种情况,PHP提供了各种去空数组函数。另外,如果需要找到数组中某个元素,可以使用匹配函数。本文将详细介绍PHP中去空数组函数和匹配函数。
一、去空数组函数
在PHP中,有许多种去空数组函数,下面将分别介绍。
1. array_filter()函数
array_filter()函数是PHP中最常用的去空数组函数之一。它可以过滤数组中的元素,将其中值为false(包括null、0和空字符串)的元素过滤掉。以下是该函数的语法:
array_filter ( array $array [, callable $callback [, int $flag = 0 ]] ) : array
参数说明:
- $array:必需。要过滤的数组。
- $callback:可选。要使用的回调函数。默认情况下,如果省略此参数,则array_filter()函数将删除所有等同于false的元素。
- $flag:可选。指定回调函数的参数数目,通常用于处理多维数组(后面会讲到)。
下面是一个使用array_filter()函数的示例:
```
$arr = array("apple", "", "orange", "", "banana");
$arr_new = array_filter($arr);
print_r($arr_new); //输出结果为:Array ( [0] => apple [2] => orange [4] => banana )
?>
```
2. array_diff()函数
array_diff()函数可以去掉数组中与另一个或多个数组中的值相同的元素。以下是该函数的语法:
```
array_diff ( array $array1 , array $array2 [, array $... ] ) : array
```
参数说明:
- $array1:必需。第一个数组。
- $array2:必需。第二个数组。
- $...:可选。其他数组。
下面是一个使用array_diff()函数的示例:
```
$arr1 = array("apple", "orange", "banana");
$arr2 = array("orange", "grape", "peach");
$arr_new = array_diff($arr1, $arr2);
print_r($arr_new); //输出结果为:Array ( [0] => apple [2] => banana )
?>
```
3. array_values()函数
array_values()函数可以重新索引数组,同时也可以去掉数组中的空元素。以下是该函数的语法:
```
array_values ( array $array ) : array
```
参数说明:
- $array:必需。要重新索引的数组。
下面是一个使用array_values()函数的示例:
```
$arr = array("apple", "", "orange", "", "banana");
$arr_new = array_values($arr);
print_r($arr_new); //输出结果为:Array ( [0] => apple [1] => orange [2] => banana )
?>
```
4. unset()函数
unset()函数可以删除数组中指定的元素,从而去掉数组中的空元素。以下是该函数的语法:
```
unset ( mixed $var [, mixed $... ] ) : void
```
参数说明:
- $var:必需。要删除的变量或数组元素。可以是一个或多个参数。
- $...:可选。其他要删除的变量或数组元素。
下面是一个使用unset()函数的示例:
```
$arr = array("apple", "", "orange", "", "banana");
foreach($arr as $key => $value){
if($value == ""){
unset($arr[$key]);
}
}
print_r($arr); //输出结果为:Array ( [0] => apple [2] => orange [4] => banana )
?>
```
5. array_diff_assoc()函数
array_diff_assoc()函数与array_diff()函数类似,不同之处在于它会比较数组的键和值,只有键和值都相同的元素才会被去掉。以下是该函数的语法:
```
array_diff_assoc ( array $array1 , array $array2 [, array $... ] ) : array
```
参数说明:
- $array1:必需。第一个数组。
- $array2:必需。第二个数组。
- $...:可选。其他数组。
下面是一个使用array_diff_assoc()函数的示例:
```
$arr1 = array("a"=>"apple", "b"=>"orange", "c"=>"banana");
$arr2 = array("a"=>"orange", "b"=>"grape", "c"=>"peach");
$arr_new = array_diff_assoc($arr1, $arr2);
print_r($arr_new); //输出结果为:Array ( [a] => apple [c] => banana )
?>
```
二、匹配函数
PHP中有许多可用于匹配数组元素的函数,下面将介绍其中几个。
1. array_search()函数
array_search()函数可以在数组中查找指定的元素,并返回它的键。如果找不到该元素,返回false。以下是该函数的语法:
```
array_search ( mixed $needle , array $haystack [, bool $strict = false ] ) : mixed
```
参数说明:
- $needle:必需。要查找的值。
- $haystack:必需。要搜索的数组。
- $strict:可选。是否启用严格模式。默认为false。
下面是一个使用array_search()函数的示例:
```
$arr = array("apple", "orange", "banana");
$key = array_search("orange", $arr);
echo $key; //输出结果为:1
?>
```
2. in_array()函数
in_array()函数可以判断数组中是否存在指定的元素。如果存在,返回true;否则返回false。以下是该函数的语法:
```
in_array ( mixed $needle , array $haystack [, bool $strict = FALSE ] ) : bool
```
参数说明:
- $needle:必需。要查找的值。
- $haystack:必需。要搜索的数组。
- $strict:可选。是否启用严格模式。默认为false。
下面是一个使用in_array()函数的示例:
```
$arr = array("apple", "orange", "banana");
if(in_array("orange", $arr)){
echo "存在";
}else{
echo "不存在";
}
?>
```
3. array_key_exists()函数
array_key_exists()函数可以判断数组中是否存在指定的键。如果存在,返回true;否则返回false。以下是该函数的语法:
```
array_key_exists ( mixed $key , array $array ) : bool
```
参数说明:
- $key:必需。要查找的键。
- $array:必需。要搜索的数组。
下面是一个使用array_key_exists()函数的示例:
```
$arr = array("a"=>"apple", "b"=>"orange", "c"=>"banana");
if(array_key_exists("b", $arr)){
echo "存在";
}else{
echo "不存在";
}
?>
```
4. array_intersect()函数
array_intersect()函数可以返回两个或多个数组中共同存在的元素。以下是该函数的语法:
```
array_intersect ( array $array1 , array $array2 [, array $... ] ) : array
```
参数说明:
- $array1:必需。第一个数组。
- $array2:必需。第二个数组。
- $...:可选。其他数组。
下面是一个使用array_intersect()函数的示例:
```
$arr1 = array("apple", "orange", "banana");
$arr2 = array("orange", "grape", "peach");
$arr_new = array_intersect($arr1, $arr2);
print_r($arr_new); //输出结果为:Array ( [1] => orange )
?>
```
总结
通过上面的介绍,我们可以看到,PHP中有许多去空数组函数和匹配函数,并且它们各有特点。针对不同需求,我们可以选择不同的函数来处理数组。同时,在使用匹配函数时,要注意它们的返回值和严格模式的选项,以免出现意外的错误。 如果你喜欢我们三七知识分享网站的文章, 欢迎您分享或收藏知识分享网站文章 欢迎您到我们的网站逛逛喔!https://www.ynyuzhu.com/
愿自己天天开心,清爽自在!