zoukankan      html  css  js  c++  java
  • PHP中的替代语法(冒号、endif、endwhile、endfor)

    我们常常在wordpress一类的博客程序的模板里面看到非常多奇怪的PHP语法,比方:
    <?php  if( empty($_GET['a]) ): ?>     <font color = "red">空的</font>     <?

    php endif;?>

    对于相当一部分PHP爱好者来说根本没见过,这些是什么东西呢?难道是那些博客开发人员自己搞的的仿PHP得模板语言?
    非也。事实上这些都是PHP的语法,仅仅只是不经常使用而已,这些都是PHP流程控制的替代语法。

    这里就给大家具体说一下PHP流程控制的替代语法。什么事替代语法?
    简单的说就是一些语法的另类写法。


    PHP中哪些语法有替代语法?
    流程控制(包含if、while、for、foreach、switch)这几个语句有替代语法。


    替代语法的基本形式:
    左花括号({)换成冒号(:),把右花括号(})分别换成 endif、endwhile、endfor、endforeach、endswitch;

    举个列子吧:
    <?php if( $a<0 ): ?

    > 小于0 <?php endif; ?

    >

    上面的语句等同于
    <?php if( $a<0 ){ ?> 小于0 <?php } ?

    >


    为什么纯PHP代码里面差点儿看不到?
    这些语法有点不符合C家族的传统有点另类,大家不大习惯这样的语法,并且不是非常方便

    大家都不习惯。并且这么另类要他有什么作用?
    存在就是合理。它自由它的用处,这些语法能发挥的地方是在PHP和HTML混合页面的代码里面。

    优点例如以下:

    1.使HTML和PHP混合页面代码更加干净整齐。有代码洁癖的朋友最惧怕的就是乱七八糟的混合代码,有了这些没有花括号的替代语法,各位爱干净的朋友开心到尿震。

    2.流程控制逻辑更清晰。代码更easy阅读。要改别人的PHP和HTML混合代码。打开发现。我擦!太TMD垃圾了!

    假设用替代语法,我想再垃圾的程序开发者也不至于写的太乱吧。

    3.一些从ASP等其它类basic语言家族转来的朋友,会更easy使用PHP。

    讲半天无用的,捞点干的行不?这东西怎么用?

    依据之前描写叙述的用法,if语句的替代语法使用例如以下:
    <?php if ($a == 5): ?

    >
      <div>等于5</div>
    <?php elseif ($a == 6): ?>
      <div>等于5</div>
    <?php else: ?>
      <div>不是5就是6</div>
    <?php endif; ?>


    while替代语法:
    <?

    php while (expr): ?>
      <li>循环点什么</li>
    <?

    php endwhile; ?>

    for替代语法:

    <?php for (expr1; expr2; expr3): ?

    >
      <li>循环点什么</li>
    <?php endfor; ?>
    foreach替代语法:
    <?

    php foreach (expr1): ?>
      <li>循环点什么</li>
    <?php endforeach; ?

    >


    switch替代语法:
    <?php
    switch ($i):
        case 0:
            echo "i equals 0";
            break;
        case 1:
            echo "i equals 1";
            break;
        case 2:
            echo "i equals 2";
            break;
        default:
            echo "i is not equal to 0, 1 or 2";
    endswitch;
    ?>

  • 相关阅读:
    【Spring注解驱动开发】二狗子让我给他讲讲@EnableAspectJAutoProxy注解
    【Spring注解驱动开发】你敢信?面试官竟然让我现场搭建一个AOP测试环境!
    【Nginx】如何基于主从模式搭建Nginx+Keepalived双机热备环境?这是最全的一篇了!!
    华为分析+App Linking:一站式解决拉新、留存、促活难
    deeplink跳转快应用返回出现两次系统添加桌面的弹框
    4月26日19:30,#HMS Core Insights#直播系列第二期来了!
    HMS Toolkit自动化环境配置,助您高效集成HMS Core
    全体注意!一大波鸿蒙三方库即将到来
    HMS Toolkit助力开发者高效集成HMS Core
    教你使用一套代码解决出海问题
  • 原文地址:https://www.cnblogs.com/gavanwanggw/p/7058123.html
Copyright © 2011-2022 走看看