我使用相同的php页面进行不同的操作。条件方面,我正在做一些动作
哪一个表现良好?
<>之前这一个如果(catid美元){…一些动作}如果(sub_catid美元){…一些动作}如果(sub_sub_catid美元){…一些动作}之前或This one
<>之前如果(catid美元){. .一些行动其他}{如果(sub_catid美元){. .一些行动其他}{如果(sub_sub_catid美元){. .一些行动}}}首先,这两个词有非常不同的含义。如果所有这些变量都为TRUE,第一个可以允许执行每一条语句。第二个系统将在第一次发现TRUE时"短路"。
我想你要找的是:
if($catid) {
.. some action
} else if($sub_catid) {
.. some action
} else if($sub_sub_catid) {
.. some action
}
加分项:可读性更强!
都有很好的性能。对一个简单变量的if检查非常快。从理论上讲,第二种方法更快,但你几乎无法测量其中的差异。
然而,在语义上,它们是不一样的。如果同时设置了$catid和$subcatid,则在第一种情况下,同时执行第一个和第二个操作,而在第二种情况下,只执行第一个操作。所以总是要小心这样的"优化"。你可能会让你的代码快一纳秒,但它可能会降低可读性,甚至可能会崩溃!
如果条件不能同时为真最好的方法是使用switch语句
。switch($mycondition){
case 'category':
//Category statement here
break;
case 'sub_category':
//Another Statement here
break;
default:
//Other cases
}