我有一个如下的php字符串:
$string = 'www absjdjjd www123 dkkd www wwww ghy ww';
如何计算不。单词只有“www”出现在这个字符串中。这个字符串中有两个单词,所以结果应该是2。 我尝试了类似下面的东西,但没有工作。
$val = 'www';
$count = substr_count($string, $val);
答案 0 :(得分:1)
此代码可以帮助您
详细信息:使用explode
函数将字符串转换为array
,最后将loop
与condition
<?php
$string = 'www absjdjjd www123 dkkd www wwww ghy ww';
$a=explode(" ",$string);
print_r($a);
$count=0;
foreach($a as $value)
{
if($value=="www")
{
$count++;
}
}
print_r($count);
?>
答案 1 :(得分:0)
使用正则表达式,它更快,使用更少的内存然后爆炸,循环和计数:
<?php
$string = 'www absjdjjd www123 dkkd www wwww ghy ww';
echo preg_match_all('/\bwww\b/', $string, $matches); // 2
答案 2 :(得分:0)
使用explode()和array_count_values()。
<?php
$string = 'www absjdjjd www123 dkkd www wwww ghy ww';
$arr = array_count_values(explode(" ", $string));
echo isset($arr['www']) ? $arr['www'] : 0; //2
答案 3 :(得分:0)
如果您只想匹配www,则可以使用\bwww\b
来查找www
与a solution like this之间的\b
。
$string = 'www absjdjjd www123 dkkd www wwww ghy ww';
preg_match_all('/\bwww\b/', $string, $matches);
var_dump($matches);
将导致:
array(1) {
[0]=>
array(2) {
[0]=>
string(3) "www"
[1]=>
string(3) "www"
}
}