首页
学习
活动
专区
圈层
工具
发布

清理PHP
EN

Stack Overflow用户
提问于 2009-09-07 08:15:20
回答 4查看 241关注 0票数 0

有什么我可以清理的吗?

代码语言:javascript
复制
if($class == 2 AND $posts >=1){$showpost ="1";} else {$showpost ="$posts";
if($class == 3 AND $posts >=2){$showpost ="2";} else {$showpost ="$posts";
if($class == 4 AND $posts >=3){$showpost ="3";} else {$showpost ="$posts";
if($class == 5 AND $posts >=4){$showpost ="4";} else {$showpost ="$posts";
if($class == 6 AND $posts >=5){$showpost ="5";} else {$showpost ="$posts";
if($class == 7 AND $posts >=6){$showpost ="6";} else {$showpost ="$posts";
}}}}}}

因为我不想让{}作为结尾。

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2009-09-07 08:20:20

代码语言:javascript
复制
if (($class >= 2) && ($class <= 7) && ($posts >= $class - 1))
    $showpost = $class - 1;
else
    $showpost = $posts;

if分为两个部分:

代码语言:javascript
复制
 if (
     ($class >= 2) && ($class <= 7) // Check $class is between 2 and 7 inclusive

     && ($posts >= $class - 1)) // Check $posts >= $class -1
                                // so if $class is 4 this checks if $posts >= 3

这与您的原始代码中的逻辑相匹配--这只是一个看到模式的问题。

如果你需要$showpost是一个字符串(很可能你不需要),你可以像这样转换成字符串:

代码语言:javascript
复制
$showpost = (string)$showpost;
票数 7
EN

Stack Overflow用户

发布于 2009-09-07 08:20:08

您可以剥离除最后一条以外的所有$showpost ="$posts";语句:

代码语言:javascript
复制
if ($class == 2 AND $posts >=1) {
    $showpost = "1";
} else if ($class == 3 AND $posts >=2) {
    $showpost = "2";
} else if ($class == 4 AND $posts >=3) {
    $showpost = "3";
} else if ($class == 5 AND $posts >=4) {
    $showpost = "4";
} else if ($class == 6 AND $posts >=5) {
    $showpost = "5";
} else if ($class == 7 AND $posts >=6) {
    $showpost = "6";
} else {
    $showpost ="$posts";
}

或者将其概括为:

代码语言:javascript
复制
if ($class >= 2 && $class <= 7 && $posts >= ($class - 1)) {
    $showposts = $class - 1;
} else {
    $showposts = $posts;
}
票数 5
EN

Stack Overflow用户

发布于 2009-09-07 08:20:13

你可以使用这个,不是很好,但可以工作。

代码语言:javascript
复制
if($posts >= ($class - 1) AND $class >= 2 AND $class < 8) { $showpost = $class - 1; }
else { $showpost = $posts; }
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1388157

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档