【PHP】瞎玩:解决网络视力表的找不同汉字问题
作者: 郑晓 分类: PHP 发布于: 2012-12-11 17:49 浏览:6,576 评论(6)
今天有人在群里发了个“视力表”找不同的字,例如在上百个“土”中找到“士”:
士士士士士士士士士士士士士士士士士士士士士士士士士士士士士士士士士士士士士士士士士士士士士士士士士士士士士士士士士士士士士士士士士士士士士士士士士士士士士士士士士士士士士士士士士士士士士士士士士士士士士士士士士士士士士士士士士士士士士士士士士士士士士士士士士土士士士士士士士士士士士士士士士士士士士士士士士士士士士士士士士士士士士士士士士士士士士士士士士士士士士士士士士士士士士士士士士士士士士士士士士士士士士士士士士士士士士士士士士士士士士
自己随便写了几行,用PHP来找到不同的字:
<?php
$str = "土土土土土士土土土"; //需要查找的字符串
$i = 0;//初始化计数器
while($a = iconv_substr($str,$i,1,'utf-8')) { //循环一个个截取字符串中的汉字
$i++;
if($i==1) { //如果是第一个汉字,将tmp变量初始化
$tmp = $a;
continue;
}
if($a==$tmp) { //之后每次循环截取后都与上一个tmp进行判断,如果相同跳过
continue;
} else { //如果发现不相同汉字 输出信息,跳出。
echo '不同的字出现在第' . $i . '个:'.$a.',其它的字:'.$tmp;
break;
}
}
?>
$str = "土土土土土士土土土"; //需要查找的字符串
$i = 0;//初始化计数器
while($a = iconv_substr($str,$i,1,'utf-8')) { //循环一个个截取字符串中的汉字
$i++;
if($i==1) { //如果是第一个汉字,将tmp变量初始化
$tmp = $a;
continue;
}
if($a==$tmp) { //之后每次循环截取后都与上一个tmp进行判断,如果相同跳过
continue;
} else { //如果发现不相同汉字 输出信息,跳出。
echo '不同的字出现在第' . $i . '个:'.$a.',其它的字:'.$tmp;
break;
}
}
?>
很简单的一段代码,主要使用了iconv_substr()函数与while循环控制,使用一个中间变量存储上一个汉字。使用iconv_substr()函数防止截取汉字时出现乱码,前提是文件保存为utf8格式。
本文采用知识共享署名-非商业性使用 3.0 中国大陆许可协议进行许可,转载时请注明出处及相应链接。
本文永久链接: https://www.zh30.com/php-find-the-word-problem.html
【PHP】瞎玩:解决网络视力表的找不同汉字问题:目前有6 条留言
话说编程的目地就是给懒人省事的,哈哈
就是 😛
CTRL + F
这确实是一个好方法。。。
话说好久没更新了啊
嗯。。。最近有点儿忙 一直没时间