[PHP]字串、數學相關常用函數

PHP內建了很多函數,這邊介紹的是關於字串的常用函數
在很多時候會用上,比如說會員登入的輸入處理,或是資料的判斷等等


  • 第一個要介紹的是把指定內容轉成小寫,或是轉成大寫的函數


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.45678round($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補充
這邊補充一個小練習:
設計一個表單,讓使用者可以填寫一個數字格式的文字欄位
若使用者輸入的內容不是數字則印出錯誤訊息 若是數字則計算出:

  1. 絕對值

  2. 四捨五入後的值

  3. 無條件進位的值

  4. 無條件捨去的值


※HINT:判斷是否是數字,使用
is_numeric()

參考解答也在github上面的number_practice資料夾內

留言