php怎么查找数组中有几个字符串
时间 : 2023-02-16 21:17:01声明: : 文章内容来自网络,不保证准确性,请自行甄别信息有效性

PHP是一种流行的脚本语言,用于开发动态网页。数组是PHP中最重要的数据结构之一。几乎所有的PHP应用程序都会使用到数组,它们可以容纳多种不同的元素,比如整数、字符串、布尔值等等。

当然,数组中有时也会存储字符串。那么如何在PHP中查找数组中有几个字符串呢?

下面提供三种方法:

方法一:使用array_count_values()函数。这是PHP内置的函数,它可以统计数组中值的出现次数,可用于统计字符串的出现次数,以获得数组中有多少个字符串。例如:

$arr = array("a" => "PHP", "b" => "Java", "c" => "PHP");

$count_values = array_count_values($arr);

echo $count_values["PHP"]; // 输出2

方法二:使用array_filter()函数。这也是PHP内置的函数,可以用来过滤掉不是字符串的元素,保留字符串。 然后使用count()函数计算数组中字符串的个数:

$arr = array("a" => "PHP", 1, 2, 3, "b" => "Java", "c" => "PHP");

$str_arr = array_filter($arr,function($v){

return is_string($v);

});

echo count($str_arr); // 输出2

方法三:使用 array_map() 函数和 in_array() 函数。先使用 array_map() 函数筛选出字符串类型的元素,然后使用 in_array() 函数计算数组中有几个字符串:

$arr = array("a" => "PHP", 1, 2, 3, "b" => "Java", "c" => "PHP");

$str_arr = array_map(function($v){

return is_string($v) ? $v : null;

}, $arr);

echo count(array_filter($str_arr, "in_array")); // 输出2

以上就是关于php怎么查找数组中有几个字符串的几种方法,PHP 提供了很多内置函数,可以轻松处理复杂的数据结构,帮助我们

PHP中有多种方法来查找数组中有几个字符串。下面介绍一些常用的方法:

1、使用array_count_values()函数

通过使用array_count_values()函数,我们可以很容易的解决此类问题。示例代码如下:

$arr = array('a','b','c','d','e','a','a','b');

$result = array_count_values($arr);

echo $result['a'];

运行结果将输出‘3’,表示数组中含有‘a’元素的次数。

2、使用in_array()函数

PHP in_array()函数也可以查看某个元素是否在一个数组中,示例代码如下:

$arr = array('a','b','c','d','e','a','a','b');

$counter=0;

foreach($arr as $value) {

if(in_array($value,$arr))

$counter++;

}

echo $counter;

运行结果将输出‘8’,表示数组中包含多少字符串。

3、使用array_unique()函数

使用array_unique()函数也可以查看数组中有几个字符串,示例代码如下:

$arr = array('a','b','c','d','e','a','a','b');

$arr2 = array_unique($arr);

$arr3 = array_values($arr2);

echo count($arr3);

运行结果将输出‘5’,即数组中有5个不同的字符串。

综上,我们可以使用以上的几种方法来查找数组中有几个字符串,效率上还有一定的差异,那就要看你具体的使用情况来决定选择什么方法。