php 去空数组函数

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/

点赞(48) 打赏

评论列表 共有 1 条评论

穿着校服猖狂世界 1年前 回复TA

愿自己天天开心,清爽自在!

立即
投稿
发表
评论
返回
顶部