色尼玛亚洲综合影院,亚洲3atv精品一区二区三区,麻豆freexxxx性91精品,欧美在线91

PHP 定界符 使用技巧

如果用傳統的輸出方法――按字符串輸出的話,肯定要有大量的轉義符來對字符串中的引號等特殊字符進行轉義,以免出現語法錯誤。如果是一兩處還可以容忍,但是要是一個完整的html文本或者是一個200行的js我想是誰都會崩潰的。這就是php為什么要引入一個定界符的原因――至少一大部分原因是這樣的。
1.php定界符的作用就是按照原樣,包括換行格式什么的,輸出在其內部的東西;
2.在php定界符中的任何特殊字符都不需要轉義;
3.php定界符中的php變量會被正常的用其值來替換。
php中的定界符格式是這樣的:
復制代碼 代碼如下:
<<<Eof
……
Eof;

看起來很簡單,但是其中有許多地方需要注意。
首先在<<<之后的字符Eof是自己定義的,隨便什么都是可以的(比如AAA都可以),但是結尾處的字符一定要和他一樣,他們是成對出現的,就像{}這樣的――這是最基本的。
php定界符使用的過程中,第二個需要注意的問題――也是最經常出現問題的地方:
結尾的一行(如上例的Eof;),一定要另起一行,并且改行除了Eof;這個定界符結尾標識之外不能有任何其他字符,前后都不能有,包括空格。如果在本行最前或者最后出現空格,制表符的話,你會收到一個這樣的錯誤信息:
Parse error: parse error, unexpected $end in……,提示你語法錯誤;
第三個需要注意的是,如果在定界符中間出現有php的變量,你只需要像在其它字符串中輸出一樣寫就行了,例如
復制代碼 代碼如下:
<<<Eof
hello{$name}
Eof;

變量$name之所以要用{}括起來是要告訴php解析器這是一個php變量,其實不用也是可以的,但是有可能會產生歧義,例如你的變量后面剛好不是一字母或者特殊符號什么的會怎么樣呢?千萬不能有這樣的寫法
復制代碼 代碼如下:
<<<Eof
hello<?php echo $name?>
Eof;

這樣的情況,你同樣會收到一個語法錯誤的信息。先便是一個戰地測試過的php定界符的正確寫法。里面包含了,html和Javascript的代碼:
復制代碼 代碼如下:
<?php
$name = 'kitty';
echo <<<Eof
<table height="20">
<tr><td>
{$name}<br/>
<script>
var p='hello world';
document.writeln(p);
</script>
</td></tr>
</table>
Eof;
?>

php技術PHP 定界符 使用技巧,轉載需保留來源!

鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。

主站蜘蛛池模板: 施秉县| 临海市| 肇庆市| 肃北| 宣汉县| 马公市| 山阳县| 拉萨市| 社会| 沙河市| 钦州市| 福州市| 竹北市| 光泽县| 沙田区| 叙永县| 花莲县| 吉水县| 潮州市| 尖扎县| 长治县| 灌云县| 垦利县| 金乡县| 长阳| 盐津县| 松潘县| 六安市| 繁昌县| 莱西市| 乐亭县| 萨嘎县| 广德县| 乌鲁木齐县| 无为县| 墨竹工卡县| 福州市| 乃东县| 香港 | 寿光市| 惠州市|