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.流程控制逻辑更清晰,代码更容易阅读。要改别人的PHP和HTML混合代码,打开发现,我擦!太TMD垃圾了!如果用替代语法,我想再垃圾的程序开发人员也不至于写的太乱吧。

3.一些从ASP等其他类basic语言家族转来的朋友,会更容易使用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;

?>

PHP中的替代语法(冒号、endif、endwhile、endfor),布布扣,bubuko.com

时间: 2024-12-20 20:55:31

PHP中的替代语法(冒号、endif、endwhile、endfor)的相关文章

PHP中的替代语法

今天看了一下wordpress的代码,里面有些少见的php替代语法, <?php else : ?> <div class="entry-content"> <?php the_content( __( 'Continue reading <span class="meta-nav">→</span>', 'thebox' ) ); ?> <?php wp_link_pages( array( 'be

PHP中的替代语法(转)

我们经常在wordpress一类博客程序的模板里面看到很多奇怪的PHP语法,比如: <?php if(empty($GET_['a'])): ?> <font color="red">空的</font> <?php endif; ?> 对于相当一部分PHP爱好者来说根本没见过啊,这些是什么东西呢?难道是那些博客的开发者自己搞的仿PHP的模板语言? 非也,其实这些都是PHP的语法,只不过不常用而已,这些都是PHP流程控制的替代语法. 这里就

CI框架 -- 在视图文件中使用 PHP 替代语法

如果你不使用 CodeIgniter 的 模板引擎, 那么你就只能在视图文件中使用纯 PHP 语法了.为了精简视图文件, 使其更可读,建议你在写控制结构或 echo 语句时使用 PHP 的替代语法. 如果你还不熟悉这个语法,下面将介绍如何通过这个语法来消灭你代码 中的大括号和 echo 语句. 自动短标记支持 如果你发现本页所介绍的语法在你的服务器上行不通,那么有可能是 你的 PHP.ini 文件中禁用了 “短标记”.CodeIgniter 可以动态的重写 所有的短标记,这样即使你的服务器不支持

PHP流程控制中不常用的替代语法

准备做个wordpress的主题,结果看到了如下的语法: <div id="primary" class="content-area"> <main id="main" class="site-main" role="main"> <?php if ( have_posts() ) : ?> <?php if ( is_home() && ! is_

Php 的替代语法

替代语法 为什么会有替代语法: ????php是嵌入在html文档中的脚本语言,Php可以动态生成html标签,但是php主要功能并不是生成html标签,主要用于动态的生成数据(数据库中的数据).如果使用php来动态生成html标签及标签内部数据时,程序代码会显的很乱. 就是php中的流程控制的另一类写法. 哪些流程控制可以有替代语法 if.switch.for.foreach.while 替代语法的形式: 使用冒号':'代替左花括号'{',使用endif.endsiwtch.endfor.en

PHP流程控制的替代语法

准备做个wordpress的主题,结果看到了如下的语法: <div id="primary" class="content-area"><main id="main" class="site-main" role="main"><?php if ( have_posts() ) : ?><?php if ( is_home() && ! is_fro

PHP基础知识之流程控制的替代语法

PHP 提供了一些流程控制的替代语法,包括 if,while,for,foreach 和 switch. 替代语法的基本形式是把左花括号({)换成冒号(:),把右花括号(})分别换成 endif;,endwhile;,endfor;,endforeach; 以及 endswitch;. <?php if ($a == 5): ?>A is equal to 5<?php endif; ?> <?phpif ($a == 5):    echo "a equals 5

Pandoc中的Markdown语法

.caret, .dropup > .btn > .caret { border-top-color: #000 !important; } .label { border: 1px solid #000; } .table { border-collapse: collapse !important; } .table td, .table th { background-color: #fff !important; } .table-bordered th, .table-bordere

Thinkphp回顾(五)之前台模板中的基本语法

一.导入CSS和JS文件 的三种方式  (了解) 1.link方式(常规) <link rel=’stylesheet’ type=’text/css’ href=’__PUBLIC__/Js/test.css/> <script src='__PUBLIC__/Js/test.js'></script> //导入Public文件夹下面的Js目录中的test.js文件和Css文件夹下的test.css文件 2.import <import type='js' fi