我在if条件if PHP代码中遇到问题&操作员来验证图像高度和宽度的两个条件,但它只检查第一个条件。
list($width, $height) = getimagesize('abc.jpg');
if($width < 400 && $height < 200){
//做点什么}
but it only validate the image width.
有什么提示吗??
&&
运算符是个懒惰的混蛋。如果最左边的操作返回false
,则不需要进一步检查。所以,我认为你的图像宽度是400(或更多)像素,这意味着高度自然不会被检查。
它应该这样工作:
if ($info = getimagesize("abc.jpg")) {
if ($info[0] < 400 && $info[1] < 200) {
// your code continues here...
}
}
你也可以用一种更实用的方式写它(索引消失):
if ($info = getimagesize("abc.jpg")) {
if (current($info) < 400 && next($info) < 200) {
// your code continues here...
}
}
在任何情况下,getimagesize()
函数都会返回一个包含两个以上组件的数组,因此这是不起作用的。
希望有帮助:)