PHP为什么两个不同字符串中的两个相同值彼此不相等

时间:2020-10-29 22:58:08

标签: php

这两个字符串为什么不相等? 我试图获得相同的名称,以便创建文件,但是即使我认为两个字符串具有相同的值,也无法获得两个相等的字符串。 我上传了var_dump输出 知道如何解决吗?

$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

1 个答案:

答案 0 :(得分:0)

var_dump输出中可以看到,您要比较的项目长度不同。 $cat中有一个空格,可能还有一个隐藏字符:

要修剪所有空格和一些其他字符,请使用以下方法:

$cat = array_map('trim', $cat);
$selectCategory = array_map('trim', $selectCategory);