在上一篇《PHP演算法練習二:求n和指定數的絕對差》文章中介紹了怎麼求兩個數的絕對差值以及差值的三倍值,今天繼續PHP基礎演算法系列,不過不是簡單的數值之間的計算了,具體往下看~
本文練習的主題是「寫一個PHP 程式來交換給定字串中的第一個和最後一個字元並返回新字串」。
根據這個問題,大家動手自己先練練吧~
下面我給我的實作方法:
PHP程式碼如下:
<?php function test($str) { return strlen($str) > 1 ? substr($str, strlen($str) - 1).substr($str, 1, strlen($str) - 2). substr($str, 0, 1) : $str; } echo test("abcd")."<br>"; echo test("a")."<br>"; echo test("xy")."<br>";
輸出結果是:
本範例中,我們給的第一個字串是“abcd”,那麼交換第一個和最後一個字符,並輸出的新字串就是“dbca”;
給的第二個字串是“a”,輸出是a;
第三個字串是“xy” ,輸出的新字串是“yx”。
這裡用到了三元運算子“?:”,以及strlen、substr函數。
下面在簡單介紹下兩個函數的作用:
strlen()函數的作用是傳回字串的長度,語法是「strlen(string)」;其傳回值是若成功則傳回字串的長度,若字串為空則回傳0。
附註:在 PHP 5.3.0 之前,函數把陣列當作字串 Array,這樣就回傳一個長度為 5 的字串,並產生一個 E_NOTICE 等級的錯誤。
substr()函數的作用是傳回字串的一部分,語法是「substr(string,start,length)
」;其傳回值是傳回字串的擷取部分,若失敗則回傳FALSE,或傳回一個空字串。
附註:若 start 參數為負數且 length 小於或等於 start,則 length 為 0。
最後給大家推薦《PHP影片教學》~快來學習吧!
以上是PHP演算法練習三:交換字串中第一個和最後一個字符的詳細內容。更多資訊請關注PHP中文網其他相關文章!