PHP为什么来自两个不同字符串的两个相同值不相等
为什么这两个字符串不相等? 我试图获得相同的名称以便创建一个文件,但是我无法获得两个彼此相等的字符串,即使我认为两个字符串具有相同的值。 我上传了var_转储输出 知道怎么修吗PHP为什么来自两个不同字符串的两个相同值不相等,php,Php,为什么这两个字符串不相等? 我试图获得相同的名称以便创建一个文件,但是我无法获得两个彼此相等的字符串,即使我认为两个字符串具有相同的值。 我上传了var_转储输出 知道怎么修吗 $selectCategory = scandir($_SERVER['DOCUMENT_ROOT'].'/database/'); $cat = explode('.',$category); print_r($cat); print_r($selectCategory); if($cat
$selectCategory = scandir($_SERVER['DOCUMENT_ROOT'].'/database/');
$cat = explode('.',$category);
print_r($cat);
print_r($selectCategory);
if($cat[0] == $selectCategory[2]){
echo " true";
}
else{
echo "no";
}
output:
Array ( [0] => bus [1] => php )
Array ( [0] => . [1] => .. [2] => bus [3] => fruit )
no
This is var_dump output
array(2) { [0]=> string(5) " bus" [1]=> string(3) "php" }
array(4) { [0]=> string(1) "." [1]=> string(2) ".." [2]=> string(3) "bus" [3]=> string(5) "fruit" }
no
从
var\u dump
输出中可以看到,您正在比较的项目长度不同。$cat
中有一个空格,可能还有一个隐藏字符:
要修剪所有空格和其他一些字符,请使用以下命令:
$cat = array_map('trim', $cat);
$selectCategory = array_map('trim', $selectCategory);
使用
var\u dump
而不是print\u r
并显示结果。我更新了var\u dump输出,看起来总线有$cat的字符串(5),知道如何修复它吗?非常感谢。因此,在第一个数组中,0索引两端都有一个空格a(不是说它有5个字符长),所以字符串不一样。也许考虑使用。完美地解决了我的问题,非常感谢!