久久久久久久视色,久久电影免费精品,中文亚洲欧美乱码在线观看,在线免费播放AV片

<center id="vfaef"><input id="vfaef"><table id="vfaef"></table></input></center>

    <p id="vfaef"><kbd id="vfaef"></kbd></p>

    
    
    <pre id="vfaef"><u id="vfaef"></u></pre>

      <thead id="vfaef"><input id="vfaef"></input></thead>

    1. 站長(zhǎng)資訊網(wǎng)
      最全最豐富的資訊網(wǎng)站

      php中字符串定界符有幾種

      php字符串定界符有兩種:1、heredoc定界符,在“<<<”運(yùn)算符之后要提供一個(gè)標(biāo)識(shí)符,然后換行,接下來(lái)是字符串本身,最后要用前面定義的標(biāo)識(shí)符作為結(jié)束標(biāo)志。2、nowdoc定界符,在“<<<”運(yùn)算符之后要提供一個(gè)被單引號(hào)括起來(lái)的標(biāo)識(shí)符,然后換行,接下來(lái)是字符串本身,最后要用前面定義的標(biāo)識(shí)符作為結(jié)束標(biāo)志。

      php中字符串定界符有幾種

      php入門(mén)到就業(yè)線上直播課:進(jìn)入學(xué)習(xí)
      API 文檔、設(shè)計(jì)、調(diào)試、自動(dòng)化測(cè)試一體化協(xié)作工具:點(diǎn)擊使用

      本教程操作環(huán)境:windows7系統(tǒng)、PHP8.1版、DELL G3電腦

      PHP定界符

      PHP定界符是從PHP4.0版本開(kāi)始支持的。

      定界符用于定義一段格式化的文本,格式化是指文本中的格式將被保留,所以文本中不需要使用定義符。在使用時(shí)后接一個(gè)標(biāo)識(shí)符,然后是格式化的文本(即字符串),最后使用同樣的標(biāo)識(shí)符結(jié)束字符串,這段格式化的文本也可以稱(chēng)為長(zhǎng)字符串。

      為什么使用定界符

      因?yàn)镻HP是一個(gè)Web編程語(yǔ)言,在編程過(guò)程中難免會(huì)遇到使用echo來(lái)輸出大段的HTML代碼或者JavaScript腳本的情況。如果用傳統(tǒng)字符串輸出的話,肯定要使用大量的轉(zhuǎn)義字符來(lái)對(duì)字符串中的特殊字符進(jìn)行轉(zhuǎn)義,比如單引號(hào)‘’、雙引號(hào)“”等等,難免會(huì)出現(xiàn)語(yǔ)法錯(cuò)誤。

      而PHP中定界符能夠定義一段較長(zhǎng)的字符串,并且可以按照原樣輸出在其內(nèi)部的東西,包括換行、縮進(jìn)等格式,在定界符中任何特殊字符都不需要轉(zhuǎn)義,而且定界符中的變量也能被解析。這也是為什么 PHP 要引入定界符的原因之一。

      php中字符串定界符有幾種

      PHP中有兩種定界符:heredoc(雙引號(hào)定界符)和nowdoc(單引號(hào)定界符)

      1、“Heredoc”定義方式

      heredoc 句法結(jié)構(gòu):<<<。在該運(yùn)算符之后要提供一個(gè)標(biāo)識(shí)符,然后換行。接下來(lái)是字符串 string 本身,最后要用前面定義的標(biāo)識(shí)符作為結(jié)束標(biāo)志。

      結(jié)束標(biāo)識(shí)符可以使用空格或制表符(tab)縮進(jìn),此時(shí)文檔字符串會(huì)刪除所有縮進(jìn)。 在 PHP 7.3.0 之前的版本中,結(jié)束時(shí)所引用的標(biāo)識(shí)符必須在該行的第一列。

      而且,標(biāo)識(shí)符的命名也要像其它標(biāo)簽一樣遵守 PHP 的規(guī)則:只能包含字母、數(shù)字和下劃線,并且必須以字母和下劃線作為開(kāi)頭。

      <?php $str = <<<EOF   url:   https://www.php.cn/ EOF; echo $str; ?>

      php中字符串定界符有幾種

      PHP 7.3.0 之后的基礎(chǔ) Heredoc 示例

      <?php // 無(wú)縮進(jìn) echo <<<END       a      b     c n END; // 4 空格縮進(jìn) echo <<<END       a      b     c     END;

      php中字符串定界符有幾種

      如果結(jié)束標(biāo)識(shí)符的縮進(jìn)超過(guò)內(nèi)容的任何一行的縮進(jìn),則將拋出 ParseError 異常:

      示例:結(jié)束標(biāo)識(shí)符的縮進(jìn)不能超過(guò)正文的任何一行

      <?php echo <<<END   a  b c    END;

      以上例程在 PHP 7.3 中的輸出:

      PHP Parse error:  Invalid body indentation level (expecting an indentation level of at least 3) in example.php on line 4

      制表符也可以縮進(jìn)結(jié)束標(biāo)識(shí)符,但是,關(guān)于縮進(jìn)結(jié)束標(biāo)識(shí)符和內(nèi)容, 制表符和空格不能混合使用。在以上任何情況下, 將會(huì)拋出 ParseError 異常。 之所以包含這些空白限制,是因?yàn)榛旌现票矸涂崭駚?lái)縮進(jìn)不利于易讀性。

      示例:內(nèi)容(空白)和結(jié)束標(biāo)識(shí)符的不同縮進(jìn)

      <?php // 以下所有代碼都不起作用。 // 正文(空格)和結(jié)束標(biāo)記(制表符),不同的縮進(jìn) {     echo <<<END      a         END; } // 在正文中混合空格和制表符 {     echo <<<END         a      END; } // 在結(jié)束標(biāo)記中混合空格和制表符 {     echo <<<END           a          END; }

      以上例程在 PHP 7.3 中的輸出:

      PHP Parse error:  Invalid indentation - tabs and spaces cannot be mixed in example.php line 8

      內(nèi)容字符串的結(jié)束標(biāo)識(shí)符后面不需要跟分號(hào)或者換行符。 例如,從 PHP 7.3.0 開(kāi)始允許以下代碼:

      示例:在結(jié)束標(biāo)識(shí)符后繼續(xù)表達(dá)式

      <?php $values = [<<<END a   b     c END, 'd e f']; var_dump($values);

      以上例程在 PHP 7.3 中的輸出:

      array(2) {   [0] =>   string(11) "a   b     c"   [1] =>   string(5) "d e f" }

      2、“Nowdoc”定義方式

      就象 heredoc 結(jié)構(gòu)類(lèi)似于雙引號(hào)字符串,Nowdoc 結(jié)構(gòu)是類(lèi)似于單引號(hào)字符串的。Nowdoc 結(jié)構(gòu)很象 heredoc 結(jié)構(gòu),但是 nowdoc 中不進(jìn)行解析操作。這種結(jié)構(gòu)很適合用于嵌入 PHP 代碼或其它大段文本而無(wú)需對(duì)其中的特殊字符進(jìn)行轉(zhuǎn)義,與 SGML 的<![CDATA[ ]]> 結(jié)構(gòu)是用來(lái)聲明大段的不用解析的文本類(lèi)似,nowdoc 結(jié)構(gòu)也有相同的特征。

      一個(gè) nowdoc 結(jié)構(gòu)也用和 heredocs 結(jié)構(gòu)一樣的標(biāo)記 <<<, 但是跟在后面的標(biāo)識(shí)符要用單引號(hào)括起來(lái),即 <<<'EOT'。Heredoc 結(jié)構(gòu)的所有規(guī)則也同樣適用于 nowdoc 結(jié)構(gòu),尤其是結(jié)束標(biāo)識(shí)符的規(guī)則。

      示例:

      <?php echo <<<'EOD' Example of string spanning multiple lines using nowdoc syntax. Backslashes are always treated literally, e.g. \ and '. EOD;

      php中字符串定界符有幾種

      <?php  /* 含有變量的更復(fù)雜的示例 */ class foo {     public $foo;     public $bar;      function __construct()     {         $this->foo = 'Foo';         $this->bar = array('Bar1', 'Bar2', 'Bar3');     } }  $foo = new foo(); $name = 'MyName';  echo <<<'EOT' My name is "$name". I am printing some $foo->foo. Now, I am printing some {$foo->bar[1]}. This should not print a capital 'A': x41 EOT; ?>

      php中字符串定界符有幾種

      注意:

      Nowdoc 結(jié)構(gòu)是在 PHP 5.3.0 中加入的。

      推薦學(xué)習(xí):《PHP視頻教程》

      贊(0)
      分享到: 更多 (0)
      網(wǎng)站地圖   滬ICP備18035694號(hào)-2    滬公網(wǎng)安備31011702889846號(hào)