最早接触php语句,是尝试查看wordpress模板的源代码。所以相比常规的大括号写法,更为熟悉的反而是这类带冒号的写法。真正尝试过修改模板之后,会真切体会到这种书写方式的便利。它使得HTML和PHP混合页面代码更加干净整齐,也使代码更容易阅读。
平时都是采用if...elseif...else语句来写条件判断,某天突然想尝试一下switch这种方式。所以对页面的主logo语句做了如下修改。
<?php if ($Options[banner]=='1'): ?>
<h1 class="site-title"><a href="<?php echo $Options[siteurl]; ?>" rel="home"><span><?php echo $Options[sitename]; ?></span></a></h1>
<?php elseif ($Options[banner]=='2'): ?>
<h1 class="site-title"><a href="<?php echo $Options[siteurl]; ?>" rel="home"><img id="site-logo" src="<?php echo $Options[bannerimg]; ?>" alt="site-logo"></a></h1>
<?php else: ?>
<h1 class="site-title"><a href="<?php echo $Options[siteurl]; ?>" rel="home"><img id="site-logo" src="<?php echo $Options[bannerimg]; ?>" alt="site-logo"><span><?php echo $Options[sitename]; ?></span></a></h1>
<?php endif; ?>
对于站点的logo,准备采用3种可选的形式,分别是纯文字,仅图片,或是图片+文字的形式。根据自定义变量“$Options[banner]”的值来进行判断。
switch的实例
与if不同的是,switch的条件判断中,需要一条“break”语句来强制退出,否则会继续执行后续的语句。博主实际修改过程当中,就遗漏了“break”,导致三种情况同时展现在了页面上。
<?php
$favcolor="red";
switch ($favcolor)
{
case "red":
echo "你喜欢的颜色是红色!";
break;
case "blue":
echo "你喜欢的颜色是蓝色!";
break;
case "green":
echo "你喜欢的颜色是绿色!";
break;
default:
echo "你喜欢的颜色不是 红, 蓝, 或绿色!";
}
?>
switch的冒号写法
尝试利用switch对前文的if语句进行了改造,实际应用中效果是一致的,能够根据值的不同输出不同的结果。
<?php switch($Options[banner]): ?>
<?php case "1": ?>
<h1 class="site-title"><a href="<?php echo $Options[siteurl]; ?>" rel="home"><span><?php echo $Options[sitename]; ?></span></a></h1>
<?php break; ?>
<?php case "2": ?>
<h1 class="site-title"><a href="<?php echo $Options[siteurl]; ?>" rel="home"><img id="site-logo" src="<?php echo $Options[bannerimg]; ?>" alt="site-logo"></a></h1>
<?php break; ?>
<?php case "3": ?>
<h1 class="site-title"><a href="<?php echo $Options[siteurl]; ?>" rel="home"><img id="site-logo" src="<?php echo $Options[bannerimg]; ?>" alt="site-logo"><span><?php echo $Options[sitename]; ?></span></a></h1>
<?php endswitch; ?>