php 查数组的值是否全部等于一个值?

有没有系统函数?不用循环... 有没有系统函数?不用循环 展开
 我来答
韩于现3361
2014-09-09 · 超过68用户采纳过TA的回答
知道答主
回答量:142
采纳率:100%
帮助的人:59.7万
展开全部
你说的这个可不是查找重复元素,而是查找存在元素值部分内容相同的所有元素。没有简单方法。
你只能使用循环,一个一个的把元素的值打散,一次又一次的与其他的每一个元素比较。类似下面的代码。
$a = array('abc99999','add23425','ghfgh77ghjk');
$acount = count($a);
$test = $a[0];
$strlen = strlen($test);
echo "a[0]";
for($i=1;$i<$acount;$i++){//从第二个元素开始比较,
for($j=0;$j<$strlen;$j++){//把第一个元素的所有内容与其他元素内容进行比较。
if(strpos($a[$i],$test[$j]) != false){
echo "a[$i]";break;
}

}

}
=============
注意以上代码不适合中文或中英文混杂的情况,只适合你列出的例子,如果是中文或中英文混杂,strpos($a[$i],$test[$j])需要额外处理。因为如果中文,$test[$j]则是半个中文字符。
以下是中文示例。主是要与中文编码有关,请自行完善。
$a = array('这是一串中文','真a的中吗','ghfgh77ghjk');
$acount = count($a);
$test = $a[0];
$strlen = strlen($test);
echo "a[0]";
for($i=1;$i<$acount;$i++){//从第二个元素开始比较,
for($j=0;$j<$strlen;$j+=2){//把第一个元素的所有内容与其他元素内容进行比较。
$str = substr($test,$j,2);
//echo $str." ";
if(strpos($a[$i],$str) != false){
echo "a[$i]";break;
}

}

}
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
Harwise
2014-09-09 · TA获得超过2321个赞
知道小有建树答主
回答量:3299
采纳率:0%
帮助的人:1145万
展开全部
in_array()
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式