PHP內建了很多函數,這邊介紹的是關於字串的常用函數
在很多時候會用上,比如說會員登入的輸入處理,或是資料的判斷等等
以上方法通常用於,若是要消去輸入端大小寫造成的判斷問題
例如身分證的首碼,因為臺灣身分證都是大寫
若是使用者輸入是小寫其實不影響判斷
就可以在取得輸入的時候直接把輸入變數先用函數改成指定格式。
中文內容長度為二,並且空白也算一個字元
這個函數包含三個變數 str_replace('A','B',C)
其中A代表的是要被取代的內容;B則是要新的內容
最後C是目標所在地,可以是變數或是字串
若是B使用空白('')取代則會刪除指定內容。
假設原始輸入為「 abc d ef 」,手很抽前後不小心打了一堆空白
經過函數運算會面成「abc d ef」中間的空白會被保留,只有前後是被刪除的
爆炸!假設我們輸入一個檔案名稱「apple.php」作函數運算
explode('.',apple.php),這時候函數會以「.」作為切分依據
然後把分割後的內容儲存成字串形式
這時候如果var_dump(explode(".",apple.php));
會得到array(2) { [0]=> string(5) "apple" [1]=> string(3) "php" }
這時候若是讀取array[1]我們可以知道這隻檔案是個php做為副檔名的檔案
若是輸入substr(abcdefg,3,5)來擷取字串
則會輸出defg,因為他的起始值是0
若第三個變數沒指定,代表從起始位元後全部擷取
數字格式化
就是單純的三位數增加一個小數點
number_format(10000000) => 10,000,000
也可以用來做為四捨五入的作法
就是把該數值取到小數點下第2位,四捨五入!
以上就是這次的筆記
同樣的,我有把相關的檔案放在github上,這次的檔案名稱叫做string.php
如果有疑問,直接看原始碼跑跑看比較容易了解
當然最好的辦法還是親自動手寫code了~
2016/11/09補充
這邊補充一個小練習:
設計一個表單,讓使用者可以填寫一個數字格式的文字欄位
若使用者輸入的內容不是數字則印出錯誤訊息 若是數字則計算出:
※HINT:判斷是否是數字,使用
參考解答也在github上面的number_practice資料夾內
在很多時候會用上,比如說會員登入的輸入處理,或是資料的判斷等等
- 第一個要介紹的是把指定內容轉成小寫,或是轉成大寫的函數
strtolower() 可以將指定變數內的字元都改成小寫
strtolower() 可以將指定變數內的字元都改成小寫
以上方法通常用於,若是要消去輸入端大小寫造成的判斷問題
例如身分證的首碼,因為臺灣身分證都是大寫
若是使用者輸入是小寫其實不影響判斷
就可以在取得輸入的時候直接把輸入變數先用函數改成指定格式。
- 再來是計算字串內的有幾個字元的函數
strlen()
可以計算指定內容的長度,這邊要注意的是,數量是以英文為一中文內容長度為二,並且空白也算一個字元
- 若是內容有需要修改的地方,就會用上接下來的函數
str_replace()
這個函數包含三個變數 str_replace('A','B',C)
其中A代表的是要被取代的內容;B則是要新的內容
最後C是目標所在地,可以是變數或是字串
若是B使用空白('')取代則會刪除指定內容。
- 如果使用者在輸入內容時手指不聽使喚地抽搐 按了太多的空白鍵造成前面、或是後面有一堆無用的空白時用接下來的函數 不會治好他,但是可以幫助你的程式看看他發病前想輸入什麼
trim()
假設原始輸入為「 abc d ef 」,手很抽前後不小心打了一堆空白
經過函數運算會面成「abc d ef」中間的空白會被保留,只有前後是被刪除的
- 有時候我們分割檔案名稱,用副檔名判斷檔案類型的時候會用以下函數
explode()
爆炸!假設我們輸入一個檔案名稱「apple.php」作函數運算
explode('.',apple.php),這時候函數會以「.」作為切分依據
然後把分割後的內容儲存成字串形式
這時候如果var_dump(explode(".",apple.php));
會得到array(2) { [0]=> string(5) "apple" [1]=> string(3) "php" }
這時候若是讀取array[1]我們可以知道這隻檔案是個php做為副檔名的檔案
- 擷取部分字串
substr()
若是輸入substr(abcdefg,3,5)來擷取字串
則會輸出defg,因為他的起始值是0
若第三個變數沒指定,代表從起始位元後全部擷取
- 接下來是數學方面的常用函數,因為很簡單就不多做說明,直接用範例
abs(-12345) => 12345 絕對值
$score = 123.45678
round($score, 2) => 123.46 四捨五入,第二個變數是到第幾位
ceil($score) => 124 無條件進位
floor($score) => 123 無條件捨去
- 接下來的是金融機構才比較常用的函數
數字格式化
number_format()
就是單純的三位數增加一個小數點
number_format(10000000) => 10,000,000
也可以用來做為四捨五入的作法
number_format($score, 2);
就是把該數值取到小數點下第2位,四捨五入!
以上就是這次的筆記
同樣的,我有把相關的檔案放在github上,這次的檔案名稱叫做string.php
如果有疑問,直接看原始碼跑跑看比較容易了解
當然最好的辦法還是親自動手寫code了~
2016/11/09補充
這邊補充一個小練習:
設計一個表單,讓使用者可以填寫一個數字格式的文字欄位
若使用者輸入的內容不是數字則印出錯誤訊息 若是數字則計算出:
- 絕對值
- 四捨五入後的值
- 無條件進位的值
- 無條件捨去的值
※HINT:判斷是否是數字,使用
is_numeric()
參考解答也在github上面的number_practice資料夾內
留言
張貼留言