我們在寫程式的過程中常常遇到兩個不同的資料型別進行比較的情況,那麼遇到這樣的問題我們該如何解決呢?
下面我就給大家舉幾個簡單的小例子來解決這個問題?
其實在不同的資料型別之間的比較只發生在標量型別之間,php的資料型別有這麼幾種:
php 支援八種原始型別(type)。
四種標量型別:
string(字串)
integer(整型)
float(浮點型,也作 double )
boolean(布林型)
兩種復合型別:
array(陣列)
object(物件)
兩種特殊型別:
resource(資源)
null(空)
所以說呢我們遇到的不同資料型別之間的比較發生在前四種型別之間,其實規則很簡單,請看下面的規則:
1、在比較的資料中有布林型,那麼就轉換成布林型進行比較,規則是這樣的:true>false.
2、如果有數字,就轉換成數字進行比較。
3、如果都是純數字字串,那就轉換成數字進行比較
4、否則按照字串進行比較
在php中字串的比較是有函式可以使用的:
php教程裡更有這樣一組用於字串比較的函式:strcmp,strcasecmp,strncasecmp(), strncmp(),他們都是如果前者比後者大,則返回大於0的整數;如果前者比後者小,則返回小於0的整數;如果兩者相等,則返回0.他們比較的原理和其他語言的規則都是相同的。
strcmp是用於區分大小寫(即大小寫敏感)的字串比較:
echo strcmp(「abcdd」, 「abcde」); // 返回 1 (>0), 比較的是 「b」和」b」
strcasecmp用於不區分大小寫的字串比較:
echo strcasecmp(「abcdd」, 「abcde」); // 返回 -1 (<0), 比較的是」d」和」e」
strncmp用於比較字串的一部分,從字串的開頭開始比較,第三個引數,為要比較的長度。
使用這些函式可以輕鬆比較字串的大小;
在不同的平台中字串的比較方式可能不同:有的是按照字母的排列順序,有的是按照ascii碼進行排列等等不一而足,具體用到之後可以深入研究。
php中變數的資料型別轉換
php中變數的資料型別轉換 在php中,當遇到不同型別資料進行混合運算時,php執行引擎會很智慧型將混合運算轉為同一型別進行運算。有時我們自己需要將一些變數強制轉為其他資料型別,也可以通過php中提供的一些機制和函式來實現。變數型別轉換 變數型別轉換分為 自動轉換和強制轉換 自動轉換 在php中自動...
PHP中字元日期的轉換
獲取系統當前時間 echo date y m d h i s n var dump getdate 獲取當前系統的時間戳 echo strtotime now n echo time n str 2012 07 27 20 44 00 strtotime 將任何英文文字的日期時間描述解析為 unix...
php中的語法環境(變數 資料型別 資料轉換)
在php中,我們需要方便的尋找或者使用某個資料,需要給該資料取乙個名字。這個 名字 在程式語言中的概念就是變數 和js不同,php中的變數是 符號 加上乙個名稱組成的 變數名稱的命名規範 變數名以 開頭,後面可以書寫 a z a z 0 9 和下劃線 變數名稱是區分大小寫的 變數不能以數字開頭 a ...