在上一篇《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視頻教程》~快來學習吧!