2011-03-24 78 views
1

我试图编写一个检查图像宽度的if函数,然后应用一个css类。php strlen范围函数

我想要的功能,这样

工作,如果图像是在一个范围为150px到189px,应用CSS类 “跨越-4”

190px到229px:CSS类 “跨度-5”

230px到269px:CSS类 “跨越-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"; } 

这是行不通的。有没有人看到我做错了什么?

编辑:添加到explaine这里我可是从

+0

是什么'$ width'包含哪些内容? – 2011-03-24 09:59:15

回答

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"; } 
+0

谢谢。那就是我一直在寻找的东西! – 2011-03-24 10:43:04

2

只是一个猜测getteing在$宽度变量的函数:你为什么要使用strlen()?我认为只是$width会做到这一点...?! 或$width的内容是什么?

2

这可能是因为你像$width一样处理字符串,并获得它的长度。尝试把它当作一个数字来代替。

if(($width < 189) && ($width > 150)) { $cssClass = "span-4"; } 
0

首先计算一次字符串的长度并将其放入一个变量中。其次,如果在第二和第三条语句上使用else。

1

strlen获取$ width变量的字符串长度。我不认为你想这样做。你很可能想从每个$ width中丢失strlen()。