0

如果 PHP 代码在我的 if 条件下遇到问题。我使用 && 运算符来验证图像高度和宽度的条件,但它只检查第一个条件。

list($width, $height) = getimagesize('abc.jpg');

     if($width < 400 && $height < 200){

//做一点事 }

 but it only validate the image width.

有什么提示吗??

4

2 回答 2

1

&&接线员是个懒惰的混蛋。如果最左边的操作返回false,则感觉不需要进一步检查。因此,我会说您的图像宽度为 400(或更多)像素,这意味着自然永远不会检查高度。

于 2013-08-27T10:55:39.003 回答
0

它应该像这样工作:

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()函数都会返回一个包含两个以上组件的数组,因此这是行不通的。

希望能帮助到你 :)

于 2013-08-27T10:49:03.540 回答