Php 如何计算匹配数?

Php 如何计算匹配数?,php,regex,Php,Regex,我有这样一个字符串: $str = 'this is a string'; 这是我的模式:。有三个实例(正如您在上面的字符串中看到的,它包含三个i)。现在我要数一数。我怎样才能得到那个号码?你应该用 你也可以使用 子字符串计数-计算子字符串出现的次数 mb\u substr\u count-计算您应该使用的子字符串出现次数 你也可以使用 子字符串计数-计算子字符串出现的次数 mb\u substr\u count计算子字符串出现的次数您可以使用 另一种方法是将其转换为数组,然后对其进行计数:

我有这样一个字符串:

$str = 'this is a string';
这是我的模式:。有三个实例(正如您在上面的字符串中看到的,它包含三个
i
)。现在我要数一数。我怎样才能得到那个号码?

你应该用

你也可以使用

子字符串计数-计算子字符串出现的次数

mb\u substr\u count-计算您应该使用的子字符串出现次数

你也可以使用

子字符串计数-计算子字符串出现的次数

mb\u substr\u count计算子字符串出现的次数

您可以使用

另一种方法是将其转换为数组,然后对其进行计数:

$arr = str_split('this is a string');
$counts = array_count_values($arr);

print_r($counts);
输出:

Array
(
    [t] => 2
    [h] => 1
    [i] => 3
    [s] => 3
    [ ] => 3
    [a] => 1
    [r] => 1
    [n] => 1
    [g] => 1
)
你也可以使用

另一种方法是将其转换为数组,然后对其进行计数:

$arr = str_split('this is a string');
$counts = array_count_values($arr);

print_r($counts);
输出:

Array
(
    [t] => 2
    [h] => 1
    [i] => 3
    [s] => 3
    [ ] => 3
    [a] => 1
    [r] => 1
    [n] => 1
    [g] => 1
)
可能更合适

以下是一个例子:

<?php
$subject = "a test string a";
$pattern = '/a/i';
preg_match_all($pattern, $subject, $matches);
print_r($matches);
?>
可能更合适

以下是一个例子:

<?php
$subject = "a test string a";
$pattern = '/a/i';
preg_match_all($pattern, $subject, $matches);
print_r($matches);
?>


php中没有g修饰符,请使用preg_match_all返回匹配数。我想您可以使用
substr_count
或使用
preg_replace
替换count参数。啊,好的,谢谢。。我将给它一个提示:永远不要像这样简化复杂的需求。我没有回答,因为问题不清楚。它要么太简单(给定您的输入数据),要么不清楚(因为输入太简单)。php中没有g修饰符,请使用preg_match_all返回匹配数。我想您可以使用
substr_count
或使用
preg_replace
替换count参数。啊,好的,谢谢。。我将给它一个提示:永远不要像这样简化复杂的需求。我没有回答,因为问题不清楚。它要么太简单(给定您的输入数据),要么不清楚(因为输入太简单)。实际上,模式不同,它不仅仅是一个字母。@stack我们无法读懂您的心思,您需要提供准确的数据或相关数据。@AvinashRaj您是对的。。但事实上,我的确切模式非常复杂,我试图清楚地问我的问题。@stack:提供你的确切模式,以便我们可以相应地帮助你。事实上,模式不同,它不仅仅是一封信。@stack我们无法读懂你的心思,你需要提供准确的数据或相关数据。@AvinashRaj你是对的。。但事实上,我的确切模式非常复杂,我试图清楚地问我的问题。@stack:提供您的确切模式,以便我们可以相应地帮助您。
Array ( [0] => Array ( [0] => a [1] => a ) )