PHP 声明总是 return 错误
PHP Statement always return false
我有一个小脚本 使用 omdbapi 从 IMDB 获取数据。
我设法从该网站获取数据,但当我尝试检查电影海报是否有效时,它总是 returns 错误。
if(!$info['Poster'] == "N/A") {
$url = $info['Poster'];
$img = 'images/'.$info["imdbID"].'.jpg';
file_put_contents($img, file_get_contents($url));
echo 'Downloaded';
} else {
echo '!Downloaded';
$noCover = true;
}
$info['Poster'] 包含与此类似的数据:
http://ia.media-imdb.com/images/M/MV5BMTM0MDgwNjMyMl5BMl5BanBnXkFtZTcwNTg3NzAzMw@@._V1_SX300.jpg
不久前它还在工作,但不知何故停止了...
只需将 !
从您的条件中移开,它就会按预期工作。你在你的条件下询问 $info['Poster'] 是否为假,它不会是假的,因为它有一个字符串值。因此,您将布尔值与字符串值进行比较,false 将始终不同于 "N/A:
if($info['Poster'] !== "N/A") {
$url = $info['Poster'];
$img = 'images/'.$info["imdbID"].'.jpg';
file_put_contents($img, file_get_contents($url));
echo 'Downloaded';
} else {
echo '!Downloaded';
$noCover = true;
}
你的if语句写错了。 !$info['Poster']
表示 if $info['Poster'] is not true
。如果有一个值,它将被转换为 false
,因为 PHP 的类型转换将任何非空字符串转换为 true
,而 !
运算符使其为假。 false
不等于 N/A
,因为类型转换会将其转换为 true
(非空字符串始终为 true
)。 false
不等于 `true.
您的意思是使用 !=
,这意味着 not equal to
if($info['Poster'] != "N/A") {
我有一个小脚本 使用 omdbapi 从 IMDB 获取数据。 我设法从该网站获取数据,但当我尝试检查电影海报是否有效时,它总是 returns 错误。
if(!$info['Poster'] == "N/A") {
$url = $info['Poster'];
$img = 'images/'.$info["imdbID"].'.jpg';
file_put_contents($img, file_get_contents($url));
echo 'Downloaded';
} else {
echo '!Downloaded';
$noCover = true;
}
$info['Poster'] 包含与此类似的数据: http://ia.media-imdb.com/images/M/MV5BMTM0MDgwNjMyMl5BMl5BanBnXkFtZTcwNTg3NzAzMw@@._V1_SX300.jpg
不久前它还在工作,但不知何故停止了...
只需将 !
从您的条件中移开,它就会按预期工作。你在你的条件下询问 $info['Poster'] 是否为假,它不会是假的,因为它有一个字符串值。因此,您将布尔值与字符串值进行比较,false 将始终不同于 "N/A:
if($info['Poster'] !== "N/A") {
$url = $info['Poster'];
$img = 'images/'.$info["imdbID"].'.jpg';
file_put_contents($img, file_get_contents($url));
echo 'Downloaded';
} else {
echo '!Downloaded';
$noCover = true;
}
你的if语句写错了。 !$info['Poster']
表示 if $info['Poster'] is not true
。如果有一个值,它将被转换为 false
,因为 PHP 的类型转换将任何非空字符串转换为 true
,而 !
运算符使其为假。 false
不等于 N/A
,因为类型转换会将其转换为 true
(非空字符串始终为 true
)。 false
不等于 `true.
您的意思是使用 !=
,这意味着 not equal to
if($info['Poster'] != "N/A") {