计算字符串中特定字符的数量

Phi*_*Tel 8 php string

对不起,由于我的问题,我刚发现了一个新问题: 获取字符串中的特定字符串数.

我一直在努力,如何找到字符串中特定字符的数量?这样的情况.

function get_num_chars($char) {
    $string = '120201M, 121212M-1, 21121212M, 232323M-2, 32323K, 323232K-1'
}
Run Code Online (Sandbox Code Playgroud)

如果我通过get_num_chars(M) would return 2 如果我通过get_num_chars(M-1) would return 1

我试过count_chars(),substr_count()但它不起作用.

cha*_*ool 11

可以使用substr_count()

我认为你没有正确地传递它的价值

$string = '120201M, 121212M-1, 21121212M, 232323M-2, 32323K, 323232K-1';

echo substr_count($string, 'K-1');//echo's 1

echo substr_count($string, 'K');// echo's 2
Run Code Online (Sandbox Code Playgroud)


小智 5

使用正则表达式的可能解决方案

function get_num_chars($char) {
    $string = '120201M, 121212M-1, 21121212M, 232323M-2, 32323K, 323232K-1';
    return preg_match_all('/'.$char.'(?=,|$)/', $string, $m);
}

echo get_num_chars('M');    // 2
echo get_num_chars('M-1');  // 1
echo get_num_chars('M-2');  // 1
echo get_num_chars('K');    // 1
echo get_num_chars('K-1');  // 1
Run Code Online (Sandbox Code Playgroud)