【发布时间】:2016-10-20 09:23:43
【问题描述】:
我尝试在符号“@”之后获取值并对其进行计数。但是这段代码没有给出正确的结果。如何解决?
$t="Hi, I invite @nina and @nana to come to my party tomorow";
$arr=explode(' ', $t);
foreach($arr as $user ) {
$result=strstr($user, '@');
$total = $count($result);
}
echo $total;
结果 = 1
预期结果 =2
【问题讨论】:
-
仔细看
@arr=explode(' ', $t);。 -
您的代码还有更多错误。请在您的问题中包含工作代码(并检查是否确实如此)。
-
每次代码循环(来自
foreach)时,您都在分配计数(此处不正确为$count(),而应该是count())。每次代码循环时,它都会为$total分配一个新值。如果你想要一个累计总数,而不是$total = count($result);,使用$total += count($result);在循环的开始,在foreach语句之前,用$total = 0;初始化值 -
您将其命名为
$total,您想在其中存储一个总数,但是您在每次迭代时都会在其中添加一个新值。顺便说一句,您输入的值是错误的。 -
使用来自
preg_match_all()stackoverflow.com/a/23268269/2943403的返回