知识屋:更实用的电脑技术知识网站
所在位置:首页 > 编程技术 > PHP编程

PHP入门最基础语法

发布时间:2015-05-27 19:27:29作者:知识屋

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 的规则:只能包含字母、数字和下划线,并且必须以字母和下划线作为开头。

 

(免责声明:文章内容如涉及作品内容、版权和其它问题,请及时与我们联系,我们将在第一时间删除内容,文章内容仅供参考)
收藏
  • 人气文章
  • 最新文章
  • 下载排行榜
  • 热门排行榜