我想检查数组和字符串之间的数据是否匹配。我正在尝试检查字符串是否彼此相等,但问题是条件返回false,并且$subex2[1]和$subdat的值都为IT100。我认为问题在于不能将数组与字符串进行比较。有人能帮我一下吗?
下面是代码
$subex = $objPHPExcel->getActiveSheet()->getCell('D8')->getValue();
$subex2 = explode(":", $subex);
$q = "select * from class where id='$id'";
$r = mysql_query($q);
$data = mysql_fetch_array($r);
$subdat = $data['subject'];
if($subdat == $subex2[1]) {
echo "Data matched";
}else {
echo "Data doesn't matched";
}发布于 2017-08-22 21:09:32
正如评论中提到的。一个值前面有一个空格。你可以像这样解决这类问题:
if(trim($subdat) == trim($subex2[1])) {
echo "Data matched";
} else {
echo "Data doesn't matched";
}对于区分大小写的问题,此技巧应该适用。
if(strtolower(trim($subdat)) == strtolower(trim($subex2[1]))) {
echo "Data matched";
} else {
echo "Data doesn't matched";
}发布于 2017-08-22 21:07:11
这个测试运行得很好。
$subdat = "IT100";
$subex2[1] = "IT100";
if($subdat == $subex2[1]) {
echo "Data matched";
}您不是在比较相同的字符串
发布于 2017-08-22 21:07:37
首先使用array_map和修剪值,删除空格,然后使用in_array,示例
$subex2 = array_map('trim',$subex2);
if( is_array($subex2) ){
if(in_array($subdata, $subex2)){
echo "Data matched";
} else {
echo "Data doesn't matched";
}
}用is_array检查它是否真的是一个数组总是很好的
参考in_array https://www.w3schools.com/php/func
https://stackoverflow.com/questions/45818435
复制相似问题