首頁  >  文章  >  後端開發  >  php怎麼取得字串前幾位

php怎麼取得字串前幾位

藏色散人
藏色散人原創
2021-09-22 10:22:334634瀏覽

在PHP中可以透過substr函數來取得字串前幾位,其實作方法如“substr(“abcdef”, 0, -1);”,其傳回值則是指定字串中的前幾位。

php怎麼取得字串前幾位

本文操作環境:windows7系統、PHP7.1版、Dell G3電腦。

php怎麼取得字串前幾位?

php取得字串前幾位的實例(substr傳回字串的子字串用法)

#在實際專案應用程式中,經常遇到使用php取得字串前幾位用來比較、賦值等等。今天就來跟大家分享使用php substr 取得字串前幾位、後幾位、指定位元的用法。

substr

(PHP 4, PHP 5)

substr — 傳回字串的子字串

說明

string substr ( string $string , int $start [, int $length ] )

傳回字串string 由start 和length 參數指定的子字串。

參數

string

#輸入字串。

start

如果 start 是非負數,則傳回的字串將從 string 的 start 位置開始,從 0 開始計算。例如,在字串 “abcdef” 中,在位置 0 的字元是 “a”,位置 2 的字串是 “c” 等等。

如果 start 是負數,則傳回的字串將從 string 結尾處向前數第 start 個字元開始。

如果 string 的長度小於或等於 start,將傳回 FALSE。

Example #1 使用負數start

<?php
$rest = substr(“abcdef”, -1); // 返回 “f”
$rest = substr(“abcdef”, -2); // 返回 “ef”
$rest = substr(“abcdef”, -3, 1); // 返回 “d”
?>

length

如果提供了正數的length,傳回的字串將從start 開始最多包含length 個字元(取決於string 的長度)。

如果提供了負數的 length,那麼 string 末尾處的許多字元將會被遺漏(若 start 是負數則從字串尾部算起)。如果 start 不在這段文字中,那麼將會傳回一個空字串。

如果提供了值為 0,FALSE 或 NULL 的 length,那麼將會傳回一個空字串。

如果沒有提供 length,傳回的子字串將從 start 位置開始直到字串結尾。

Example #2 使用負數 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”
?>

返回值

傳回提取的子字串, 或在失敗時傳回 FALSE。

更新日誌版本說明

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(‘abcdef&#39;, 1); // bcdef
echo substr(‘abcdef&#39;, 1, 3); // bcd
echo substr(‘abcdef&#39;, 0, 4); // abcd
echo substr(‘abcdef&#39;, 0, 8); // abcdef
echo substr(‘abcdef&#39;, -1, 1); // f

// 访问字符串中的单个字符
// 也可以使用中括号
$string = ‘abcdef&#39;;
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;
?>

以上程式會輸出:

#1) 'pe'
2) '54'
3) 'gr'
4) '1'
5) false
6) false
7) '1200'

錯誤/異常

錯誤時返回FALSE。

<?php
var_dump(substr(‘a&#39;, 1)); // bool(false)
?>

推薦學習:《PHP影片教學

以上是php怎麼取得字串前幾位的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn