我试图写一个检查图像宽度的if函数,然后应用一个css类。
我希望这个功能像这样工作
如果图像的范围是150px到189px,则应用css类“span-4”
190px到229px:css class“span-5”
230px到269px:css class“span-6”
我试过这样的话:
list($width, $height, $type, $attr) = getimagesize($article_image);
if(strlen($width) < 189 && strlen($width) > 150) { $cssClass = "span-4"; }
if(strlen($width) < 229 && strlen($width) > 190) { $cssClass = "span-5"; }
if(strlen($width) < 269 && strlen($width) > 230) { $cssClass = "span-6"; }
这不起作用。有谁看到我做错了什么?
编辑:添加函数来解释我从
获取$ width变量的位置答案 0 :(得分:2)
这可能是因为你将$width
视为一个字符串,并获得它的长度。尝试将其视为一个数字。
if(($width < 189) && ($width > 150)) { $cssClass = "span-4"; }
答案 1 :(得分:1)
strlen获取$ width变量的字符串长度。我认为你不想这样做。你很可能想要从每个$ width中丢失strlen()。
答案 2 :(得分:0)
首先只计算一次字符串的长度并将其放入变量中。其次,如果在第二和第三个陈述中使用else。
答案 3 :(得分:0)
strlen
表示字符串。
我不确定我是否正确理解了您要执行的操作,但如果您有图像文件并且想要检查其大小,则可以使用getimagesize。
如果您已在$width
变量中拥有图片的宽度,则必须执行以下检查:
if($width > 150 && $width < 190) { $cssClass = "span-4"; }
else if($width < 230) { $cssClass = "span-5"; }
else if($width < 270) { $cssClass = "span-6"; }