【问题标题】:php strlen range functionphp strlen范围函数
【发布时间】:2011-03-24 09:54:43
【问题描述】:

我正在尝试编写一个 if 函数来检查图像的宽度,然后应用一个 css 类。

我希望函数像这样工作

如果图像在 150px 到 189px 的范围内,则应用 css 类“span-4”

190px 到 229px:css 类“span-5”

230px 到 269px:css 类“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 变量

【问题讨论】:

    标签: php strlen


    【解决方案1】:

    这可能是因为您将$width 视为一个字符串,并得到它的长度。试着把它当作一个数字来处理。

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

    【讨论】:

      【解决方案2】:

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

      【讨论】:

        【解决方案3】:

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

        【讨论】:

          【解决方案4】:

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

          【讨论】:

            猜你喜欢
            • 2012-08-03
            • 1970-01-01
            • 2011-08-22
            • 1970-01-01
            • 2011-11-19
            • 1970-01-01
            • 2016-10-26
            • 1970-01-01
            • 1970-01-01
            相关资源
            最近更新 更多