Php mysql统计字段中特殊字符的出现次数
我想计算@符号在字段中的所有出现次数,最初我认为像“%@%”这样的是可行的方法,但如果该字符在字段中出现多次,则只将其计算为一次 我还可以使用什么其他方法来计算每次发生的次数 谢谢 编辑 对于任何需要它的人,这就是我最终使用的有效方法Php mysql统计字段中特殊字符的出现次数,php,mysql,Php,Mysql,我想计算@符号在字段中的所有出现次数,最初我认为像“%@%”这样的是可行的方法,但如果该字符在字段中出现多次,则只将其计算为一次 我还可以使用什么其他方法来计算每次发生的次数 谢谢 编辑 对于任何需要它的人,这就是我最终使用的有效方法 $count = 0; $sql = mysql_query("SELECT LENGTH(field_name) - LENGTH(REPLACE(field_name,'@','')) AS 'occurs' FROM table_name WHERE fie
$count = 0;
$sql = mysql_query("SELECT LENGTH(field_name) - LENGTH(REPLACE(field_name,'@','')) AS 'occurs' FROM table_name WHERE field_name LIKE '%@%'");
while ($data = mysql_fetch_assoc($sql)) {
$count += $data['occurs'];
}
echo $count;
来源:您可以通过在php中使用``substr\u count函数来简化此过程。见下文
$message = $row['themessage'];
echo substr_count($message, '@');
这将返回@在数据库的“themessage”字段中出现的次数 计算字符串长度与字符串长度之间的差值,用@替换为“我不明白如何使用它?”?我使用的是php btw.select length('aa@bb@cc@dd')-长度(替换('aa@bb@cc@dd','@',''));我还是不明白,a、b、c和d是什么?只要换一个就行了aa@bb@cc@dd'对于字段名,它基本上是计算字符串的长度-不带'@'的字符串的长度,像这样吗?(“选择长度(字段名称)-长度(替换表名称中的字段名称“@”和“”)
$message = $row['themessage'];
echo substr_count($message, '@');