php strlen范围函数

时间:2011-03-24 09:54:43

标签: php strlen

我试图写一个检查图像宽度的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变量的位置

4 个答案:

答案 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"; }