php explode函数的使用问题
$str='美国有很多的国外银行';$sql1="select*fromkeywordsorderbyidasc";$keywords="";$rs=mysql_quer...
$str ='美国有很多的国外银行';
$sql1=" select * from keywords order by id asc ";
$keywords="";
$rs=mysql_query($sql1,$con);
while($row=mysql_fetch_array($rs))
{
echo $row['keywords']." ".$str;
$a=explode($row['keywords'],$str);
echo sizeof($a)-1;
echo "<br/>";
}
输出结果是:
国外银行 美国有很多的国外银行0
国内银行 美国有很多的国外银行0
美国 美国有很多的国外银行0
中国 美国有很多的国外银行0
请问问题出在什么地方?
按说 第一行和第三行输出的数字应该是1才对啊?怎么都成0了?我是想统计关键字在字符串中出现的次数!望各位高手赐教一下,感激不尽! 展开
$sql1=" select * from keywords order by id asc ";
$keywords="";
$rs=mysql_query($sql1,$con);
while($row=mysql_fetch_array($rs))
{
echo $row['keywords']." ".$str;
$a=explode($row['keywords'],$str);
echo sizeof($a)-1;
echo "<br/>";
}
输出结果是:
国外银行 美国有很多的国外银行0
国内银行 美国有很多的国外银行0
美国 美国有很多的国外银行0
中国 美国有很多的国外银行0
请问问题出在什么地方?
按说 第一行和第三行输出的数字应该是1才对啊?怎么都成0了?我是想统计关键字在字符串中出现的次数!望各位高手赐教一下,感激不尽! 展开
3个回答
展开全部
你的第一个按国外银行去分割 就变成了 美国有很多的| 就这一个数据 ‘国外银行’ 只起分割作用,不会变成你数组的第2个值 所以里面的值只有一个
——比如 $a='1,2,3,4,5';
$b =explode(',',$a);
那么值就有5个了 分别是$b=Array ( [0] => 1 [1] => 2 [2] => 3 [3] => 4 [4] => 5 ) 逗号是分隔符 是没有了的
——比如 $a='1,2,3,4,5';
$b =explode(',',$a);
那么值就有5个了 分别是$b=Array ( [0] => 1 [1] => 2 [2] => 3 [3] => 4 [4] => 5 ) 逗号是分隔符 是没有了的
追问
你的意思我基本明白了,谢谢,那请问我要实现统计关键字出现次数这个功能,该如何做呢?
追答
substr_count($str,$row['keywords']); 这个就可以找出每句中关键字出现的次数
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
问题很有趣,呵呵,我看到的代码和结果都是正确的,不知道你要问什么,或者你要得到什么结果?
每一次explode得到的数组都是一个啊,当然-1后就是0了。
每一次explode得到的数组都是一个啊,当然-1后就是0了。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你想干什么啊这个sizeof? 函数用错了 $a=explode($row['keywords'],$str); echo sizeof($a)-1; 辙行换成换成 echo substr_count($str,$row['keywords']);
更多追问追答
追问
我是想统计关键字在字符串中出现的次数
追答
函数用错了 $a=explode($row['keywords'],$str); echo sizeof($a)-1; 辙行换成换成 echo substr_count($str,$row['keywords']);
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询