在實(shí)際項(xiàng)目應(yīng)用中,經(jīng)常遇到使用php獲取字符串前幾位用來(lái)比較、賦值等等。今天給大家分享使用php substr 獲取字符串前幾位、后幾位、指定位的用法。
substr
(PHP 4, PHP 5)
substr — 返回字符串的子串
說(shuō)明
string substr ( string $string , int $start [, int $length ] )
返回字符串 string 由 start 和 length 參數(shù)指定的子字符串。
參數(shù)
string
輸入字符串。
start
如果 start 是非負(fù)數(shù),返回的字符串將從 string 的 start 位置開(kāi)始,從 0 開(kāi)始計(jì)算。例如,在字符串 “abcdef” 中,在位置 0 的字符是 “a”,位置 2 的字符串是 “c” 等等。
如果 start 是負(fù)數(shù),返回的字符串將從 string 結(jié)尾處向前數(shù)第 start 個(gè)字符開(kāi)始。
如果 string 的長(zhǎng)度小于或等于 start,將返回 FALSE。
Example #1 使用負(fù)數(shù) start
<?php $rest = substr(“abcdef”, -1); // 返回 “f” $rest = substr(“abcdef”, -2); // 返回 “ef” $rest = substr(“abcdef”, -3, 1); // 返回 “d” ?>
length
如果提供了正數(shù)的 length,返回的字符串將從 start 處開(kāi)始最多包括 length 個(gè)字符(取決于 string 的長(zhǎng)度)。
如果提供了負(fù)數(shù)的 length,那么 string 末尾處的許多字符將會(huì)被漏掉(若 start 是負(fù)數(shù)則從字符串尾部算起)。如果 start 不在這段文本中,那么將返回一個(gè)空字符串。
如果提供了值為 0,F(xiàn)ALSE 或 NULL 的 length,那么將返回一個(gè)空字符串。
如果沒(méi)有提供 length,返回的子字符串將從 start 位置開(kāi)始直到字符串結(jié)尾。
Example #2 使用負(fù)數(shù) length
<?php $rest = substr(“abcdef”, 0, -1); // 返回 “abcde” $rest = substr(“abcdef”, 2, -1); // 返回 “cde” $rest = substr(“abcdef”, 4, -4); // 返回 “” $rest = substr(“abcdef”, -3, -1); // 返回 “de” ?>
返回值
返回提取的子字符串, 或者在失敗時(shí)返回 FALSE。
更新日志版本說(shuō)明
5.2.2 – 5.2.6 If the start parameter indicates the position of a negative truncation or beyond, false is returned. Other versions get the string from start.
范例
Example #3 substr() 基本用法
<?php echo substr(‘a(chǎn)bcdef', 1); // bcdef echo substr(‘a(chǎn)bcdef', 1, 3); // bcd echo substr(‘a(chǎn)bcdef', 0, 4); // abcd echo substr(‘a(chǎn)bcdef', 0, 8); // abcdef echo substr(‘a(chǎn)bcdef', -1, 1); // f // 訪(fǎng)問(wèn)字符串中的單個(gè)字符 // 也可以使用中括號(hào) $string = ‘a(chǎn)bcdef'; echo $string[0]; // a echo $string[3]; // d echo $string[strlen($string)-1]; // f ?>
Example #4 substr() casting behaviour
<?php class apple { public function __toString() { return “green”; } } echo “1) “.var_export(substr(“pear”, 0, 2), true).PHP_EOL; echo “2) “.var_export(substr(54321, 0, 2), true).PHP_EOL; echo “3) “.var_export(substr(new apple(), 0, 2), true).PHP_EOL; echo “4) “.var_export(substr(true, 0, 1), true).PHP_EOL; echo “5) “.var_export(substr(false, 0, 1), true).PHP_EOL; echo “6) “.var_export(substr(“”, 0, 1), true).PHP_EOL; echo “7) “.var_export(substr(1.2e3, 0, 4), true).PHP_EOL; ?>
以上例程會(huì)輸出:
1) ‘pe'
2) '54'
3) ‘gr'
4) ‘1'
5) false
6) false
7) ‘1200'
錯(cuò)誤/異常
錯(cuò)誤時(shí)返回 FALSE。
<?php var_dump(substr(‘a(chǎn)', 1)); // bool(false) ?>
以上這篇php獲取字符串前幾位的實(shí)例(substr返回字符串的子串用法)就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持。