我有一个来自“file_get_contents()”函数的变量。将此变量与if函数一起使用始终为false。
$content = file_get_contents($url);
echo $content; // Echos 1
if ($content == "1") {
// It doesn't matter if I use 1, '1' or "1"
echo "True";
}
else {
echo "False"; // Always echos this one.
}
答案 0 :(得分:1)
我认为在失败的情况下(http://php.net/manual/en/function.file-get-contents.php)
可能会更好地捕捉到错误$content = file_get_contents($url);
if ($content === false) {
echo "False"; // or throw exception
}
echo "True";
答案 1 :(得分:1)
您的比较失败,因为$content
并不是您认为的。
很可能有<html>
个标签或空白字符(例如\n
)。
制作内容的hexdump,以确切了解您从file_get_contents
获得的内容。
Hex dump function implemented in PHP
示例:
$content = file_get_contents($url);
hex_dump($content);
了解$content
内的内容后,您可以相应地对其进行过滤(评论中提到了strip_tags
和trim
。)