需要帮助了解正确的使用方式" if elseif else"声明。下面的代码A有效,但它是否正确?我是否可以用" elseif&#34 ;?结束声明?或者是"如果"语句应该以" endif"或"否则" ?
代码A:此代码有效
但请注意,它不会以" endif"或"否则"。
if ( is_page( 'contact' ) ) { get_template_part('inc/contact'); }
elseif ( is_page( 'policy' ) ) { get_template_part('inc/policy'); }
elseif ( is_page( 'about' ) ) { get_template_part('inc/about'); }
elseif ( is_page( 'terms' ) ) { get_template_part('inc/terms'); }
?>
。
是全部" if语句"应该结束" endif"?如果是的话,你能告诉我代码吗?
在下面的CODE B中使用" endif"导致白屏错误。
代码B:endif不起作用
if ( is_page( 'contact' ) ) { get_template_part('inc/contact'); }
elseif ( is_page( 'policy' ) ) { get_template_part('inc/policy'); }
elseif ( is_page( 'about' ) ) { get_template_part('inc/about'); }
elseif ( is_page( 'terms' ) ) { get_template_part('inc/terms'); }
endif;
?>
。
是最后一个" elseif"应该是"否则"代替?如果是的话,你能告诉我代码吗?
在下面的CODE C中使用" else"导致白屏错误。
代码C:"否则"而不是" elseif"不起作用
if ( is_page( 'contact' ) ) { get_template_part('inc/contact'); }
elseif ( is_page( 'policy' ) ) { get_template_part('inc/policy'); }
elseif ( is_page( 'about' ) ) { get_template_part('inc/about'); }
else ( is_page( 'terms' ) ) { get_template_part('inc/terms'); }
?>
答案 0 :(得分:3)
endif仅用于"替代语法" http://php.net/manual/en/control-structures.alternative-syntax.php 我个人不会使用它,但它取决于你。
根据你的"否则"问题..这是可选的。它的故障安全" ...如果没有其他匹配则执行。如果你没有"否则"并且你所有的其他人都失败了,那么在那个代码块中什么都不会做。
答案 1 :(得分:2)
您可以使用:
和endif
OR 大括号({}
),但不能同时使用两者。这些语法中的任何一个都可以使用
if( something_is() ) :
do something;
endif;
或
if( something_is() ) {
do something;
}
第二种实际上是首选方式,因为它几乎所有代码编辑器都支持这种语法,因此更容易调试。第一个很难调试,因为大多数代码编辑器都不支持它
答案 2 :(得分:0)
人们倾向于在基于php的模板中使用这种语法,因为它看起来像是模板
<? if (something) : ?>
<b>Yea!</b>
<? else: ?>
<p>nothing</p>
<? endif; ?>
至于后端内容,建议使用此语法
if (something) { bar(); }
elseif (other)
{
yes();
}
?>
php也允许这个
if (something) myThing() elseif (that) other(); else doNot();
底线,你只能组合一种语法
答案 3 :(得分:0)
我会说Code A. 当您想说:
时使用else
if(/*option;*/)
{
//code
}
elseif(/*another option;*/)
{
//code
}else /*Any other options beside the above*/ {/*code;*/}
但是在你的代码中,你在最后一个条件中有一个特例。所以CodeA。