在 PHP 開發中,我們常常需要對字符串進行處理。而其中一個非常實用的函數就是 endwith()。這個函數可以幫助我們判斷一個字符串是否以某個特定的字符結尾。
舉個例子,我們有這樣一個字符串:
$str = "Hello, world!";
如果我們想判斷這個字符串是否以感嘆號結尾,我們可以這樣寫:
if (endwith($str, "!")) { echo "字符串以感嘆號結尾"; } else { echo "字符串不以感嘆號結尾"; }
如果 $str 的值確實以感嘆號結尾,那么輸出將會是:“字符串以感嘆號結尾”。否則,輸出將會是:“字符串不以感嘆號結尾”。
endwith() 函數的第一個參數是要檢查的字符串,第二個參數是所需的結尾字符。接下來的代碼演示了如何編寫這個函數:
function endwith($str, $suffix) { $len = strlen($suffix); return substr($str, -$len) === $suffix; }
這個函數可以將字符串與所需的結尾字符進行比較。如果匹配成功,返回值是 true,否則返回值是 false。
當然,您也可以使用 PHP 內置函數來實現相同的結果。請看下面的代碼:
if (substr_compare($str, "!", -1)) { echo '字符串以感嘆號結尾'; } else { echo '字符串不以感嘆號結尾'; }
substr_compare() 函數的第一個參數是要檢查的字符串,第二個參數是所需的結尾字符,最后一個參數是從字符串的末尾開始的偏移量。
在實際編程中,可能需要檢查一組字符串是否以給定的結尾字符之一結尾。因此,下面的代碼可以幫助實現這個操作:
function ends_with($string, $endings) { foreach ((array)$endings as $ending) { if (substr_compare($string, $ending, -strlen($ending)) === 0) { return true; } } return false; }
使用這個函數,我們可以比較一個字符串是否以給定的結尾之一結束:
if (ends_with($str, array(".", "!", "?"))) { echo "字符串以句點、感嘆號或問號其中之一結尾"; }
總之,endwith() 函數是一個非常方便的函數,可以幫助開發人員方便地比較字符串的結尾字符。在實際的 PHP 應用中,使用 endwith() 可以幫助我們開發更加高效和靈活的應用程序。