为什么字符串";model_ year”;与字符串“”不同;model_year”;


How come string "model_year" is not the same as the string "model_year"

我在php脚本中遇到了问题,其中两个字符串彼此不相同。它是这样的:

echo $s1; // echoes model_year
echo md5($s1); // echoes 7dd909a04b17a0f9ce4c3a975d70e275
echo $s2; // echoes model_year
echo md5($s2); // echoes 0b42417a9f183a2321b39f1caecd56aa

为什么字符串model_year与字符串model_year不相同?变量$s1被硬编码到php文件中。变量$s2通过csv文件中的内容填充。我还在这里做了一个var_dump:

echo var_dump($s1); // echoes string(10) "model_year" 
echo var_dump($s2); // echoes string(13) "model_year"

$s2的末尾有一个尾随空格。用户trim()功能类似:

$s1 = "model_year";
$s2 = "model_year ";
echo $s1; // echos model_year
echo md5($s1); // echos 7dd909a04b17a0f9ce4c3a975d70e275 
echo md5($s2); // echos 0b42417a9f183a2321b39f1caecd56aa
echo md5(trim($s2)); // echos 7dd909a04b17a0f9ce4c3a975d70e275 

示例PHP FIDDLE