這是2017上半年的第一篇學習筆記,也是最后一篇,捂臉…
在前幾天的工作中,關於“銀行卡”頁面原型如下,其中,不同銀行卡的卡號只保留了最后四位數字可以顯示,其他數字均用*字符隱藏了起來。
和前端溝通后,由我這邊對數字進行隱藏處理。這就用到了PHP中的字符串替換substr_replace函數。
PHP字符串替換,顧名思義,就是用於從字符串中替換指定字符串。
相關函數如下:
substr_replace( )——把字符串的一部分替換為另一個字符串
str_replace( )——使用一個字符串替換字符串中的另一些字符
1. substr_replace( )
語法:
substr_replace(string,replacement,start,length)
參數 | 描述 |
---|---|
string | 必需。規定要檢查的字符串。 |
replacement | 必需。規定要插入的字符串。 |
start | 必需。規定在字符串的何處開始替換。
|
length | 可選。規定要替換多少個字符。默認是與字符串長度相同。
|
返回值 | 返回被替換的字符串 |
2. str_replace( )
語法:
str_replace(find,replac,string,count)
參數 | 描述 |
---|---|
find | 必需。規定要查找的值。 |
replace | 必需。規定替換 find 中的值的值。 |
string | 必需。規定被搜索的字符串。 |
count | 可選。對替換數進行計數的變量。 |
返回值 | 返回帶有替換值的字符串或數組 |
以上就是字符串替換substr_replace( ) 和 str_replace( )函數的基礎知識點,因此在實際工作中,我用到了第一個——substr_replace( )函數。
經過查詢,我了解到目前國內的銀行卡是16位或者19位長度數字,因此從數據表查到銀行卡卡號之后,先用strlen( )函數統計字符串的長度。
當銀行卡為16位數字時,前面12位數字被12個*替換,即replacement是 ************;
當銀行卡為19位數字時,前面15位數字被15個*替換,即replacement是 **************** ;
代碼如下圖:
測試效果如下圖: