#每天学习一个新的php函数 (1) substr()
最近发现自己的写代码的效率太低了。查找原因,发现大部分的时间都用来去查找手册找函数的用法去了,但是找当时用过后就马上忘掉了,第二次遇到这个函数还是的重新来过。浪费了大量的时间。所以决定写一个小结的集合,争取把每天遇到的最频繁的那个函数记载下来。
该函数用来截取指定字符串,功能很强大。
如果 start 是非负数,返回的字符串将从 string 的 start 位置开始,从 0 开始计算。例如,在字符串 “abcdef” 中,在位置 0 的字符是 “a”,位置 2 的字符串是 “c” 等等。
如果 start 是负数,返回的字符串将从 string 结尾处向前数第 start 个字符开始。
如果 string 的长度小于或等于 start,将返回 FALSE。
如果提供了正数的 length,返回的字符串将从 start 处开始最多包括 length 个字符(取决于 string 的长度)。
如果提供了负数的 length,那么 string 末尾处的许多字符将会被漏掉(若 start 是负数则从字符串尾部算起)。如果 start 不在这段文本中,那么将返回一个空字符串。
如果提供了值为 0,FALSE 或 NULL 的 length,那么将返回一个空字符串。
如果没有提供 length,返回的子字符串将从 start 位置开始直到字符串结尾。
返回提取的子字符串, 或者在失败时返回 FALSE。
<code class=" hljs ruby"><?php<span class="hljs-variable">$rest</span> = substr(<span class="hljs-string">"abcdef"</span>, -<span class="hljs-number">1</span>); <span class="hljs-regexp">//</span> 返回 <span class="hljs-string">"f"</span><span class="hljs-variable">$rest</span> = substr(<span class="hljs-string">"abcdef"</span>, -<span class="hljs-number">2</span>); <span class="hljs-regexp">//</span> 返回 <span class="hljs-string">"ef"</span><span class="hljs-variable">$rest</span> = substr(<span class="hljs-string">"abcdef"</span>, -<span class="hljs-number">3</span>, <span class="hljs-number">1</span>); <span class="hljs-regexp">//</span> 返回 <span class="hljs-string">"d"</span>?> <?php<span class="hljs-variable">$rest</span> = substr(<span class="hljs-string">"abcdef"</span>, <span class="hljs-number">0</span>, -<span class="hljs-number">1</span>); <span class="hljs-regexp">//</span> 返回 <span class="hljs-string">"abcde"</span><span class="hljs-variable">$rest</span> = substr(<span class="hljs-string">"abcdef"</span>, <span class="hljs-number">2</span>, -<span class="hljs-number">1</span>); <span class="hljs-regexp">//</span> 返回 <span class="hljs-string">"cde"</span><span class="hljs-variable">$rest</span> = substr(<span class="hljs-string">"abcdef"</span>, <span class="hljs-number">4</span>, -<span class="hljs-number">4</span>); <span class="hljs-regexp">//</span> 返回 <span class="hljs-string">""</span><span class="hljs-variable">$rest</span> = substr(<span class="hljs-string">"abcdef"</span>, -<span class="hljs-number">3</span>, -<span class="hljs-number">1</span>); <span class="hljs-regexp">//</span> 返回 <span class="hljs-string">"de"</span>?> </code>