⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 language.types.string.html

📁 php的帮助文档,涉及到PHP的案例和基本语法,以及实际应用内容
💻 HTML
📖 第 1 页 / 共 4 页
字号:
<div class="phpcode"><code><span style="color: #000000"><span style="color: #0000BB">&lt;?php<br /></span><span style="color: #007700">class&nbsp;</span><span style="color: #0000BB">foo&nbsp;</span><span style="color: #007700">{<br />&nbsp;&nbsp;&nbsp;&nbsp;public&nbsp;</span><span style="color: #0000BB">$bar&nbsp;</span><span style="color: #007700">=&nbsp;&lt;&lt;&lt;</span><span style="color: #DD0000">'EOT'<br /></span><span style="color: #0000BB">bar<br />EOT</span><span style="color: #007700">;<br />}<br /></span><span style="color: #0000BB">?&gt;</span></span></code></div>     </div>    </div>   </p></blockquote>   <blockquote><p><b class="note">Note</b>:          Nowdoc support was added in PHP 5.3.0.    <br />   </p></blockquote>  </div>  <div id="language.types.string.parsing" class="sect3">   <h4 class="title">Variable parsing</h4>   <p class="simpara">    When a <a href="language.types.string.html" class="type string">string</a> is specified in double quotes or with heredoc,    <a href="language.variables.html" class="link">variables</a> are parsed within it.    </p>   <p class="simpara">    There are two types of syntax: a    <a href="language.types.string.html#language.types.string.parsing.simple" class="link">simple</a> one and a    <a href="language.types.string.html#language.types.string.parsing.complex" class="link">complex</a> one.    The simple syntax is the most common and convenient. It provides a way to    embed a variable, an <a href="language.types.array.html" class="type array">array</a> value, or an <a href="language.types.object.html" class="type object">object</a>    property in a <a href="language.types.string.html" class="type string">string</a> with a minimum of effort.   </p>   <p class="simpara">    The complex syntax was introduced in PHP 4, and can be recognised by the    curly braces surrounding the expression.   </p>   <div id="language.types.string.parsing.simple" class="sect4">    <h5 class="title">Simple syntax</h5>    <p class="simpara">     If a dollar sign (<i>$</i>) is encountered, the parser will     greedily take as many tokens as possible to form a valid variable name.     Enclose the variable name in curly braces to explicitly specify the end of     the name.    </p>    <div class="informalexample">     <div class="example-contents"><div class="phpcode"><code><span style="color: #000000"><span style="color: #0000BB">&lt;?php<br />$beer&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #DD0000">'Heineken'</span><span style="color: #007700">;<br />echo&nbsp;</span><span style="color: #DD0000">"$beer's&nbsp;taste&nbsp;is&nbsp;great"</span><span style="color: #007700">;&nbsp;</span><span style="color: #FF8000">//&nbsp;works;&nbsp;"'"&nbsp;is&nbsp;an&nbsp;invalid&nbsp;character&nbsp;for&nbsp;variable&nbsp;names<br /></span><span style="color: #007700">echo&nbsp;</span><span style="color: #DD0000">"He&nbsp;drank&nbsp;some&nbsp;$beers"</span><span style="color: #007700">;&nbsp;&nbsp;&nbsp;</span><span style="color: #FF8000">//&nbsp;won't&nbsp;work;&nbsp;'s'&nbsp;is&nbsp;a&nbsp;valid&nbsp;character&nbsp;for&nbsp;variable&nbsp;names&nbsp;but&nbsp;the&nbsp;variable&nbsp;is&nbsp;"$beer"<br /></span><span style="color: #007700">echo&nbsp;</span><span style="color: #DD0000">"He&nbsp;drank&nbsp;some&nbsp;${beer}s"</span><span style="color: #007700">;&nbsp;</span><span style="color: #FF8000">//&nbsp;works<br /></span><span style="color: #007700">echo&nbsp;</span><span style="color: #DD0000">"He&nbsp;drank&nbsp;some&nbsp;{$beer}s"</span><span style="color: #007700">;&nbsp;</span><span style="color: #FF8000">//&nbsp;works<br /></span><span style="color: #0000BB">?&gt;</span></span></code></div>     </div>    </div>    <p class="simpara">     Similarly, an <a href="language.types.array.html" class="type array">array</a> index or an <a href="language.types.object.html" class="type object">object</a> property     can be parsed. With array indices, the closing square bracket     (<i>]</i>) marks the end of the index. The same rules apply to     object properties as to simple variables.    </p>    <div class="informalexample">     <div class="example-contents"><div class="phpcode"><code><span style="color: #000000"><span style="color: #0000BB">&lt;?php<br /></span><span style="color: #FF8000">//&nbsp;These&nbsp;examples&nbsp;are&nbsp;specific&nbsp;to&nbsp;using&nbsp;arrays&nbsp;inside&nbsp;of&nbsp;strings.<br />//&nbsp;When&nbsp;outside&nbsp;of&nbsp;a&nbsp;string,&nbsp;always&nbsp;quote&nbsp;array&nbsp;string&nbsp;keys&nbsp;and&nbsp;do&nbsp;not&nbsp;use<br />//&nbsp;{braces}.<br /><br />//&nbsp;Show&nbsp;all&nbsp;errors<br /></span><span style="color: #0000BB">error_reporting</span><span style="color: #007700">(</span><span style="color: #0000BB">E_ALL</span><span style="color: #007700">);<br /><br /></span><span style="color: #0000BB">$fruits&nbsp;</span><span style="color: #007700">=&nbsp;array(</span><span style="color: #DD0000">'strawberry'&nbsp;</span><span style="color: #007700">=&gt;&nbsp;</span><span style="color: #DD0000">'red'</span><span style="color: #007700">,&nbsp;</span><span style="color: #DD0000">'banana'&nbsp;</span><span style="color: #007700">=&gt;&nbsp;</span><span style="color: #DD0000">'yellow'</span><span style="color: #007700">);<br /><br /></span><span style="color: #FF8000">//&nbsp;Works,&nbsp;but&nbsp;note&nbsp;that&nbsp;this&nbsp;works&nbsp;differently&nbsp;outside&nbsp;a&nbsp;string<br /></span><span style="color: #007700">echo&nbsp;</span><span style="color: #DD0000">"A&nbsp;banana&nbsp;is&nbsp;$fruits[banana]."</span><span style="color: #007700">;<br /><br /></span><span style="color: #FF8000">//&nbsp;Works<br /></span><span style="color: #007700">echo&nbsp;</span><span style="color: #DD0000">"A&nbsp;banana&nbsp;is&nbsp;{$fruits['banana']}."</span><span style="color: #007700">;<br /><br /></span><span style="color: #FF8000">//&nbsp;Works,&nbsp;but&nbsp;PHP&nbsp;looks&nbsp;for&nbsp;a&nbsp;constant&nbsp;named&nbsp;banana&nbsp;first,&nbsp;as&nbsp;described&nbsp;below.<br /></span><span style="color: #007700">echo&nbsp;</span><span style="color: #DD0000">"A&nbsp;banana&nbsp;is&nbsp;{$fruits[banana]}."</span><span style="color: #007700">;<br /><br /></span><span style="color: #FF8000">//&nbsp;Won't&nbsp;work,&nbsp;use&nbsp;braces.&nbsp;&nbsp;This&nbsp;results&nbsp;in&nbsp;a&nbsp;parse&nbsp;error.<br /></span><span style="color: #007700">echo&nbsp;</span><span style="color: #DD0000">"A&nbsp;banana&nbsp;is&nbsp;$fruits['banana']."</span><span style="color: #007700">;<br /><br /></span><span style="color: #FF8000">//&nbsp;Works<br /></span><span style="color: #007700">echo&nbsp;</span><span style="color: #DD0000">"A&nbsp;banana&nbsp;is&nbsp;"&nbsp;</span><span style="color: #007700">.&nbsp;</span><span style="color: #0000BB">$fruits</span><span style="color: #007700">[</span><span style="color: #DD0000">'banana'</span><span style="color: #007700">]&nbsp;.&nbsp;</span><span style="color: #DD0000">"."</span><span style="color: #007700">;<br /><br /></span><span style="color: #FF8000">//&nbsp;Works<br /></span><span style="color: #007700">echo&nbsp;</span><span style="color: #DD0000">"This&nbsp;square&nbsp;is&nbsp;$square-&gt;width&nbsp;meters&nbsp;broad."</span><span style="color: #007700">;<br /><br /></span><span style="color: #FF8000">//&nbsp;Won't&nbsp;work.&nbsp;For&nbsp;a&nbsp;solution,&nbsp;see&nbsp;the&nbsp;complex&nbsp;syntax.<br /></span><span style="color: #007700">echo&nbsp;</span><span style="color: #DD0000">"This&nbsp;square&nbsp;is&nbsp;$square-&gt;width00&nbsp;centimeters&nbsp;broad."</span><span style="color: #007700">;<br /></span><span style="color: #0000BB">?&gt;</span></span></code></div>     </div>    </div>    <p class="simpara">     For anything more complex, you should use the complex syntax.    </p>   </div>   <div id="language.types.string.parsing.complex" class="sect4">    <h5 class="title">Complex (curly) syntax</h5>    <p class="simpara">     This isn&#039;t called complex because the syntax is complex, but because it     allows for the use of complex expressions.    </p>    <p class="simpara">     In fact, any value in the namespace can be included in a     <a href="language.types.string.html" class="type string">string</a> with this syntax. Simply write the expression the same     way as it would appeared outside the <a href="language.types.string.html" class="type string">string</a>, and then wrap it     in <i>{</i> and <i>}</i>. Since     <i>{</i> can not be escaped, this syntax will only be     recognised when the <i>$</i> immediately follows the     <i>{</i>. Use <i>{\$</i> to get a literal     <i>{$</i>. Some examples to make it clear:    </p>    <div class="informalexample">     <div class="example-contents"><div class="phpcode"><code><span style="color: #000000"><span style="color: #0000BB">&lt;?php<br /></span><span style="color: #FF8000">//&nbsp;Show&nbsp;all&nbsp;errors<br /></span><span style="color: #0000BB">error_reporting</span><span style="color: #007700">(</span><span style="color: #0000BB">E_ALL</span><span style="color: #007700">);<br /><br /></span><span style="color: #0000BB">$great&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #DD0000">'fantastic'</span><span style="color: #007700">;<br /><br /></span><span style="color: #FF8000">//&nbsp;Won't&nbsp;work,&nbsp;outputs:&nbsp;This&nbsp;is&nbsp;{&nbsp;fantastic}<br /></span><span style="color: #007700">echo&nbsp;</span><span style="color: #DD0000">"This&nbsp;is&nbsp;{&nbsp;$great}"</span><span style="color: #007700">;<br /><br /></span><span style="color: #FF8000">//&nbsp;Works,&nbsp;outputs:&nbsp;This&nbsp;is&nbsp;fantastic<br /></span><span style="color: #007700">echo&nbsp;</span><span style="color: #DD0000">"This&nbsp;is&nbsp;{$great}"</span><span style="color: #007700">;<br />echo&nbsp;</span><span style="color: #DD0000">"This&nbsp;is&nbsp;${great}"</span><span style="color: #007700">;<br /><br /></span><span style="color: #FF8000">//&nbsp;Works<br /></span><span style="color: #007700">echo&nbsp;</span><span style="color: #DD0000">"This&nbsp;square&nbsp;is&nbsp;{$square-&gt;width}00&nbsp;centimeters&nbsp;broad."</span><span style="color: #007700">;&nbsp;<br /><br /></span><span style="color: #FF8000">//&nbsp;Works<br /></span><span style="color: #007700">echo&nbsp;</span><span style="color: #DD0000">"This&nbsp;works:&nbsp;{$arr[4][3]}"</span><span style="color: #007700">;<br /><br /></span><span style="color: #FF8000">//&nbsp;This&nbsp;is&nbsp;wrong&nbsp;for&nbsp;the&nbsp;same&nbsp;reason&nbsp;as&nbsp;$foo[bar]&nbsp;is&nbsp;wrong&nbsp;&nbsp;outside&nbsp;a&nbsp;string.<br />//&nbsp;In&nbsp;other&nbsp;words,&nbsp;it&nbsp;will&nbsp;still&nbsp;work,&nbsp;but&nbsp;only&nbsp;because&nbsp;PHP&nbsp;first&nbsp;looks&nbsp;for&nbsp;a<br />//&nbsp;constant&nbsp;named&nbsp;foo;&nbsp;an&nbsp;error&nbsp;of&nbsp;level&nbsp;E_NOTICE&nbsp;(undefined&nbsp;constant)&nbsp;will&nbsp;be<br />//&nbsp;thrown.<br /></span><span style="color: #007700">echo&nbsp;</span><span style="color: #DD0000">"This&nbsp;is&nbsp;wrong:&nbsp;{$arr[foo][3]}"</span><span style="color: #007700">;&nbsp;<br /><br /></span><span style="color: #FF8000">//&nbsp;Works.&nbsp;When&nbsp;using&nbsp;multi-dimensional&nbsp;arrays,&nbsp;always&nbsp;use&nbsp;braces&nbsp;around&nbsp;arrays<br />//&nbsp;when&nbsp;inside&nbsp;of&nbsp;strings<br /></span><span style="color: #007700">echo&nbsp;</span><span style="color: #DD0000">"This&nbsp;works:&nbsp;{$arr['foo'][3]}"</span><span style="color: #007700">;<br /><br /></span><span style="color: #FF8000">//&nbsp;Works.<br /></span><span style="color: #007700">echo&nbsp;</span><span style="color: #DD0000">"This&nbsp;works:&nbsp;"&nbsp;</span><span style="color: #007700">.&nbsp;</span><span style="color: #0000BB">$arr</span><span style="color: #007700">[</span><span style="color: #DD0000">'foo'</span><span style="color: #007700">][</span><span style="color: #0000BB">3</span><span style="color: #007700">];<br /><br />echo&nbsp;</span><span style="color: #DD0000">"This&nbsp;works&nbsp;too:&nbsp;{$obj-&gt;values[3]-&gt;name}"</span><span style="color: #007700">;<br /><br />echo&nbsp;</span><span style="color: #DD0000">"This&nbsp;is&nbsp;the&nbsp;value&nbsp;of&nbsp;the&nbsp;var&nbsp;named&nbsp;$name:&nbsp;{${$name}}"</span><span style="color: #007700">;<br /><br />echo&nbsp;</span><span style="color: #DD0000">"This&nbsp;is&nbsp;the&nbsp;value&nbsp;of&nbsp;the&nbsp;var&nbsp;named&nbsp;by&nbsp;the&nbsp;return&nbsp;value&nbsp;of&nbsp;getName():&nbsp;{${getName()}}"</span><span style="color: #007700">;<br /><br />echo&nbsp;</span><span style="color: #DD0000">"This&nbsp;is&nbsp;the&nbsp;value&nbsp;of&nbsp;the&nbsp;var&nbsp;named&nbsp;by&nbsp;the&nbsp;return&nbsp;value&nbsp;of&nbsp;\$object-&gt;getName():&nbsp;{${$object-&gt;getName()}}"</span><span style="color: #007700">;<br /></span><span style="color: #0000BB">?&gt;</span></span></code></div>     </div>    </div>        <blockquote><p><b class="note">Note</b>:            Functions and method calls inside <i>{$}</i> work since PHP 5.     <br />    </p></blockquote>   </div>  </div>    <div id="language.types.string.substr" class="sect3">   <h4 class="title">String access and modification by character</h4>   <p class="para">    Characters within <a href="language.types.string.html" class="type string">string</a>s may be accessed and modified by    specifying the zero-based offset of the desired character after the    <a href="language.types.string.html" class="type string">string</a> using square <a href="language.types.array.html" class="type array">array</a> brackets, as in    <var class="varname">$str[42]</var>. Think of a <a href="language.types.string.html" class="type string">string</a> as an    <a href="language.types.array.html" class="type array">array</a> of characters for this purpose.   </p>   <blockquote><p><b class="note">Note</b>:     <span class="simpara">     <a href="language.types.string.html" class="type String">String</a>s may also be accessed using braces, as in     <var class="varname">$str{42}</var>, for the same purpose. However, this syntax is     deprecated as of PHP 6. Use square brackets instead.    </span>   </p></blockquote>   <div class="example">    <p><b>Example #6 Some string examples</b></p>    <div class="example-contents"><div class="phpcode"><code><span style="color: #000000"><span style="color: #0000BB">&lt;?php<br /></span><span style="color: #FF8000">//&nbsp;Get&nbsp;the&nbsp;first&nbsp;character&nbsp;of&nbsp;a&nbsp;string<br /></span><span style="color: #0000BB">$str&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #DD0000">'This&nbsp;is&nbsp;a&nbsp;test.'</span><span style="color: #007700">;<br /></span><span style="color: #0000BB">$first&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">$str</span><span style="color: #007700">[</span><span style="color: #0000BB">0</span><span style="color: #007700">];<br /><br /></span><span style="color: #FF8000">//&nbsp;Get&nbsp;the&nbsp;third&nbsp;character&nbsp;of&nbsp;a&nbsp;string<br /></span><span style="color: #0000BB">$third&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">$str</span><span style="color: #007700">[</span><span style="color: #0000BB">2</span><span style="color: #007700">];<br /><br /></span><span style="color: #FF8000">//&nbsp;Get&nbsp;the&nbsp;last&nbsp;character&nbsp;of&nbsp;a&nbsp;string.<br /></span><span style="color: #0000BB">$str&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #DD0000">'This&nbsp;is&nbsp;still&nbsp;a&nbsp;test.'</span><span style="color: #007700">;<br /></span><span style="color: #0000BB">$last&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">$str</span><span style="color: #007700">[</span><span style="color: #0000BB">strlen</span><span style="color: #007700">(</span><span style="color: #0000BB">$str</span><span style="color: #007700">)-</span><span style="color: #0000BB">1</span><span style="color: #007700">];&nbsp;<br /><br /></span><span style="color: #FF8000">//&nbsp;Modify&nbsp;the&nbsp;last&nbsp;character&nbsp;of&nbsp;a&nbsp;string<br /></span><span style="color: #0000BB">$str&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #DD0000">'Look&nbsp;at&nbsp;the&nbsp;sea'</span><span style="color: #007700">;<br /></span><span style="color: #0000BB">$str</span><span style="color: #007700">[</span><span style="color: #0000BB">strlen</span><span style="color: #007700">(</span><span style="color: #0000BB">$str</span><span style="color: #007700">)-</span><span style="color: #0000BB">1</span><span style="color: #007700">]&nbsp;=&nbsp;</span><span style="color: #DD0000">'e'</span><span style="color: #007700">;<br /><br /></span><span style="color: #0000BB">?&gt;</span></span></code></div>    </div>   </div>   <blockquote><p><b class="note">Note</b>:          Accessing variables of other types using <i>[]</i> or     <i>{}</i> silently returns <b><tt>NULL</tt></b>.    <br />   </p></blockquote>  </div> </div> <div id="language.types.string.useful-funcs" class="sect2">  <h3 class="title">Useful functions and operators</h3>  <p class="para">   <a href="language.types.string.html" class="type String">String</a>s may be concatenated using the &#039;.&#039; (dot) operator. Note   that the &#039;+&#039; (addition) operator will <em class="emphasis">not</em> work for this.   See <a href="language.operators.string.html" class="link">String operators</a> for   more information.  </p>  <p class="para">   There are a number of useful functions for <a href="language.types.string.html" class="type string">string</a> manipulation.  </p>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -