gpt4 book ai didi

php - if 和 elseif 有什么区别?

转载 作者:塔克拉玛干 更新时间:2023-11-03 05:51:48 25 4
gpt4 key购买 nike

这应该是一个简单的问题。我有一个简单的 if/else 语句:

    <?php
// TOP PICTURE DEFINITIONS
if ( is_page('english') ) {
$toppic = 'page1.png';
}
if ( is_page('aboutus') ) {
$toppic = 'page1.png';
}
if ( is_page('newspaper') ) {
$toppic = 'page1.png';
}
else {
$toppic = 'page1.png';
}
?>

^^^和这个有区别吗:

<?php
// TOP PICTURE DEFINITIONS
if ( is_page('english') ) {
$toppic = 'page1.png';
}
elseif ( is_page('aboutus') ) {
$toppic = 'page1.png';
}
elseif ( is_page('newspaper') ) {
$toppic = 'page1.png';
}
else {
$toppic = 'page1.png';
}
?>

我应该提一下,这将进入 Wordpress。直到现在,我已经使用了第一部分(没有 elseif,只是一系列“ifs”),而且它有效。我只是想知道有什么区别。

谢谢!阿米特

最佳答案

是的。如果满足 if/else 控件中的条件,则将省略其余检查。 else if 只是 else 中的嵌套 if!

if ( is_page('english') ) { // if true, other statements are skipped
$toppic = 'page1.png';
}
elseif ( is_page('aboutus') ) {
$toppic = 'page1.png';
}
elseif ( is_page('newspaper') ) {
$toppic = 'page1.png';
}
else {
$toppic = 'page1.png';
}

但是在一系列的if中,它们都会被测试。

if ( is_page('english') ) {
$toppic = 'page1.png';
}
if ( is_page('aboutus') ) { // will be tested no matter what the outcome
// of the previous if statement was
$toppic = 'page1.png';
}
if ( is_page('newspaper') ) { // the same here
$toppic = 'page1.png';
}
else {
$toppic = 'page1.png';
}

因此,如果您正在检查一个属性,例如数字的奇偶性,它要么是奇数要么是偶数,如果一个条件满足,您为什么还要费心检查其他条件。这是一种资源浪费。因此,下面的代码就好多了

if(number_is_odd) {
}
else { // if it's not odd, it's even for sure
}

if(number_is_odd) {
}

if(!number_is_odd) {
}

因为前者检查一次条件而后者检查两次。对于具有两个以上状态的条件也是如此。

关于php - if 和 elseif 有什么区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3385213/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com