2016-06-18 43 views
-1

我嘗試在符號'@'之後獲得值並對其進行計數。但是這段代碼並沒有給出正確的結果。如何解決它?如何從strstr函數php中計數值?

$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

+0

看看'@ arr = explode('',$ t);''。 – PeeHaa

+0

你的代碼還有更多的錯誤。請包括工作代碼(並檢查是否屬實)。 – PeeHaa

+0

每次代碼循環時(來自'foreach'),您都應該爲count()')分配計數(在這裏不正確的是'$ count()')。每次代碼循環時,它都會爲'$ total'分配一個新值。如果你想要一個累計總數,而不是'$ total = count($ result);',使用'$ total + = count($ result);'在循環開始時,在foreach語句之前,用'$ total = 0;' –

回答

3

你爲什麼不與爆發,@?

$t="Hi, I invite @nina and @nana to come to my party tomorow"; 
$arr=explode('@', $t); 
$total = count($arr)-1; 
echo $total; 
2

試試看看這個代碼。

$t="Hi, I invite @nina and @nana to come to my party tomorow"; 
$arr=explode(' ', $t); 
$total =0; 
foreach($arr as $user) { 
$result=strstr($user, '@'); 
$total = $count($result); 
$total++; 
} 
echo $total; 
+0

它也有效。謝謝。 – lolagi