2014-09-05
1,从 HTML 中分离
凡是在一对开始和结束标记之外的内容都会被 PHP 解析器忽略,这使得 PHP 文件可以具备混合内容。 可以使 PHP 嵌入到 HTML 文档中去,如下例所示。
<p>This is going to be ignored by PHP and displayed by the browser.</p>
<?php echo 'While this is going to be parsed.'; ?>
<p>This will also be ignored by PHP and displayed by the browser.</p>
这将如预期中的运行,因为当 PHP 解释器碰到 ?> 结束标记时就简单地将其后内容原样输出(除非马上紧接换行 - 见指令分隔符)直到碰到下一个开始标记;
例外是处于条件语句中间时,此时 PHP 解释器会根据条件判断来决定哪些输出,哪些跳过。
见下例,注意if 和 else 后面的 : 冒号
使用条件结构:
<?php if ($expression == true): ?>
This will show if the expression is true.
<?php else: ?>
Otherwise this will show.
<?php endif; ?>
上例中 PHP 将跳过条件语句未达成的段落,即使该段落位于 PHP 开始和结束标记之外。
由于 PHP 解释器会在条件未达成时直接跳过该段条件语句块,(:?> 跳出了 PHP 模式并返回了 HTML 模式) 因此 PHP 会根据条件来忽略之。
要输出大段文本时,跳出 PHP 解析模式通常比将文本通过 echo 或 print 输出更有效率。
<?php if(count($dataProvider->getData())):?>
<div id="down" style="display:block;">
<div>
<input type="button" id="exportexcel" class="button3" value=" 导出Excel " url="<?=Yii::app()->request->getUrl()?>">
<span id="downloadlink"></span></div>
</div>
<?php endif;?>
--------------------------------------------------------------------------------
2,指令分隔符
一段 PHP 代码中的结束标记隐含表示了一个分号
在一个 PHP 代码段中的最后一行可以不用分号结束
如果后面还有新行,则代码段的结束标记包含了行结束。
<?php
echo "This is a test";
?>
<?php echo "This is a test" ?>
<?php echo 'We omitted the last closing tag';
Note:
文件末尾的 PHP 代码段结束标记可以不要
有些情况下当使用 include 或者 require 时省略掉会更好些,这样不期望的空白符就不会出现在文件末尾,之后仍然可以输出响应标头。
在使用输出缓冲时也很便利,就不会看到由包含文件生成的不期望的空白符。
<?php if(0): ?>
342432353
<?php else: ?>
otherwise this will show.
<?php endif ;
或者
<?php if(0): ?>
342432353
<?php else: ?>
otherwise this will show.
<?php endif ?>
--------------------------------------------------------------------------------
PHP注释
<?php
echo "This is a test"; // This is a one-line c++ style comment
/* This is a multi line comment
yet another line of comment */
echo "This is yet another test";
echo 'One Final Test'; # This is a one-line shell-style comment
?>
单行注释仅仅注释到行末或者当前的 PHP 代码块,视乎哪个首先出现。
这意味着在 // ... ?> 或者 # ... ?> 之后的 HTML 代码将被显示出来
:?> 跳出了 PHP 模式并返回了 HTML 模式,// 或 # 并不能影响到这一点。
C 风格的注释在碰到第一个 */ 时结束。
<?php
/*
echo "This is a test"; /* This comment will cause a problem */
*/
echo 'kdfjal';
?>
将报错,输出空白
--------------------------------------------------------------------------------
String 字符串
一个字符串 string 就是由一系列的字符组成,其中每个字符等同于一个字节。这意味着 PHP 只能支持 256=2的8次方 的字符集,因此不支持 Unicode 。详见字符串类型详解。
Note: string 最大可以达到 2GB。
语法
一个字符串可以用 4 种方式表达:
单引号
双引号
heredoc 语法结构
nowdoc 语法结构(自 PHP 5.3.0 起)
--------------------------------------------------------------------------------
单引号
定义一个字符串的最简单的方法是用单引号把它包围起来(字符 ')。
要表达一个单引号自身,需在它的前面加个反斜线(/)来转义。
要表达一个反斜线自身,则用两个反斜线(//)。
其它任何方式的反斜线都会被当成反斜线本身:也就是说如果想使用其它转义序列例如 /r 或者 /n,并不代表任何特殊含义,就单纯是这两个字符本身。
Note: 不像双引号和 heredoc 语法结构,在单引号字符串中的变量和特殊字符的转义序列将不会被替换。
<?php
echo 'this is a simple string';
// 可以录入多行
echo 'You can also have embedded newlines in
strings this way as it is
okay to do';
// 输出: Arnold once said: "I'll be back"
echo 'Arnold once said: "I/'ll be back"';
// 输出: You deleted C:/*.*?
echo 'You deleted C://*.*?';
// 输出: You deleted C:/*.*?
echo 'You deleted C:/*.*?';
// 输出: This will not expand: /n a newline
echo 'This will not expand: /n a newline';
// 输出: Variables do not $expand $either
echo 'Variables do not $expand $either';
?>
--------------------------------------------------------------------------------
双引号
如果字符串是包围在双引号(")中, PHP 将对一些特殊的字符进行解析:
转义字符
序列 含义
/n 换行(ASCII 字符集中的 LF 或 0x0A (10))
/r 回车(ASCII 字符集中的 CR 或 0x0D (13))
/t 水平制表符(ASCII 字符集中的 HT 或 0x09 (9))
/v 垂直制表符(ASCII 字符集中的 VT 或 0x0B (11))(自 PHP 5.2.5 起)
/e Escape(ASCII 字符集中的 ESC 或 0x1B (27))(自 PHP 5.4.0 起)
/f 换页(ASCII 字符集中的 FF 或 0x0C (12))(自 PHP 5.2.5 起)
// 反斜线
/$ 美元标记
/" 双引号
/[0-7]{1,3} 符合该正则表达式序列的是一个以八进制方式来表达的字符
/x[0-9A-Fa-f]{1,2} 符合该正则表达式序列的是一个以十六进制方式来表达的字符
和单引号字符串一样,转义任何其它字符都会导致反斜线被显示出来。PHP 5.1.1 以前,/{$var} 中的反斜线还不会被显示出来。
用双引号定义的字符串最重要的特征是变量会被解析,详见变量解析。
--------------------------------------------------------------------------------
Heredoc 结构
第三种表达字符串的方法是用 heredoc 句法结构:<<<。在该运算符之后要提供一个标识符,然后换行。接下来是字符串 string 本身,最后要用前面定义的标识符作为结束标志。
结束时所引用的标识符必须在该行的第一列,而且,标识符的命名也要像其它标签一样遵守 PHP 的规则:只能包含字母、数字和下划线,并且必须以字母和下划线作为开头。
1
CI框架连接数据库配置操作以及多数据库操作
09-05
2
asp 简单读取数据表并列出来 ASP如何快速从数据库读取大量数据
05-17
3
C语言关键字及其解释介绍 C语言32个关键字详解
04-05
4
C语言中sizeof是什么意思 c语言里sizeof怎样用法详解
04-26
5
最简单的asp登陆界面代码 asp登陆界面源代码详细介绍
04-12
6
PHP中的魔术方法 :__construct, __destruct , __call, __callStatic,__get, __set, __isset, __unset , __sleep,
09-05
7
PHP中的(++i)前缀自增 和 (i++)后缀自增
09-05
8
PHP中include和require区别之我见
09-05
常用dos命令及语法
2014-09-27
将视频设置为Android手机开机动画的教程
2014-12-11
php递归返回值的问题
2014-09-05
如何安装PHPstorm并配置方法教程 phpstorm安装后要进行哪些配置
2017-05-03
java中的info是什么意思
2022-03-24
PHP 教程之如何使用BLOB存取图片信息实例
2014-09-05
IcePHP框架中的快速后台中的通用CRUD功能框架
2014-09-05
单片机编程好学吗?单片机初学者怎样看懂代码
2022-03-21
PHP数组函数array
2014-09-05
学ug编程如何快速入门?
2022-03-17
镜解视界游戏下载v1.1.5 官方安卓版
角色扮演 918.7M
下载铁拳5暗之复苏手机版下载v2022.02.18.18 安卓双人街机版
动作闯关 1.10G
下载武娘外传手游下载v2.2 安卓最新版
角色扮演 376.4M
下载闪耀暖暖越南服官方版下载v2.7.1500283 安卓版
经营养成 2.59G
下载萌幻西游手游官方版下载v2.4.1 安卓版
卡牌对战 385.8M
下载三国戏英杰传官方版本下载v6.87.2077 安卓最新版
策略塔防 639.8M
下载名将集手游下载v1.0.6 安卓版
角色扮演 405.8M
下载破天一剑官方正版手游下载v6.90 安卓最新版本
角色扮演 1.16G
下载银河战舰手游官方版下载v1.31.87 安卓最新版
下载
碧蓝航线台服官方版下载v7.1.1 安卓版
下载
虎符传奇正式版下载v1.8 安卓最新版
下载
植物大战僵尸中国馆手机版随机植物下载v2024.05.01 安卓中国版
下载
漫威终极逆转手游最新版下载v112.0.0 安卓官服
下载
起源之潮官方版手游下载v1.0.4 安卓最新版
下载
勇者养成记游戏下载v1.226 安卓手机版
下载
诸神皇冠最新版本下载v2.1.28.65181 安卓客户端
下载