php中的整形數是有符號的,不能表示無符號整數,當整形數超出範圍時,會自動從整形數轉換成float數,可以用php_int_size常數來查看php整數型別所佔位元組,一般為4個位元組,所以可以估算出整形數的範圍,最高位數符號位元。也可以用php_int_max常數來查看int的最大值。
小知識點:
1. 當變數為0.0或「0」在布林變數中皆表示false;
2. 字串變數以雙引號時其中其中一個變數和轉義字元可以按照其定義正常輸出,而用單引號輸出內容時它會原樣輸出其內容,即轉義字元或變數不會起作用,而只會原樣輸出字面內容,這個可以自己寫一下程式碼看一下差別。個人感覺php變數的定義有點類似js,因為你根本不需要指定它任何類型,它的類型完全取決於你實際使用的類型。
3. php的算術運算子:
注意點:除號「/ 」得到的結果可以是整數也可以是float.而不是單是整數,例如5/2 結果是2.5,而在C語言中結果是2。當結果除不盡時,結果顯示14位元有效數字。
運算子一共有 、- 、 * 、 / 、 % 五個運算子。
連結兩個字串的符號不是java中的 號,而是 . 點號,點號會自動將前後變數看成字串來對待。
「==」符號和」===」的差別:
「==」符號表示只有左邊和右邊的值相等才為真。
「===」符號表示左邊和右邊不但值相等,就連變數類型也應該相等的,才會回傳真。
下例:
$a=2;
$b=2.0;
上例中$a和$b 變數的值是相等的,但類型是不相等的!所有用==為真,用===則為假。
$a !== $b 表示只要a和b值不相等或型別不相等時結果為true。
$a != $b 表示只有a 和b 的值不相等時結果為true。
$a $b 表示意思和 $a != $b 相同。
echo $a==$b 輸出的內容並非為true或false。而是0和1,1代表true,0代表false。
還有>=、
||邏輯判斷有一個特殊,當前面的判斷為true時,」||」符號後面的表達式便不會執行,這一點要小心!同理&&符號也有類似情況。這種現象稱為短路。短路與和短路或就是其中的代表 。 ||符號可以用or代替。同理&&符號可以用and代替。但英文的or和and還是有點差別:or運算子較低,比=低。例如
$a = false || true; //a回傳true;
$a = false or true; //=》 ($a = false ) 或 true;
var-dump($a,$b);
同理and 符號也有類似這種情況。
型別運算子:instanceof,用來判斷資料是否為某一類的實例,這點和java類似,結果傳回true或false。
和—運算子只針對變量,不能對常數使用!
php中的switch語句括號內可以是布林類型!而字串「0」被看作false。 default語句可以放在任何位置而不影響其他case語句的執行順序!哪怕放在switch語句中的第一句。但要注意要記得寫break語句。
表單提交問題:
在火狐瀏覽器中,表單提交的方法為POST時,相應的獲得字段值得方法就是$_POST,而不是$_REQUEST,而在IE或Firefox中,不管是POST或GET都是可以用$_REQUEST來取得內容的。 $_REQUEST的參數對應表單對應Input元素的name屬性值。
php中的break語句不同點:
首先必須明白什麼是循環?循環就是由for、while關鍵字的大括號構成的部分叫循環,這和if語句的大括號是不同的,continue語句一般放在if語句中,一般就用於跳過for循環的本次循環或while迴圈的本次迴圈。千萬不要認為在for迴圈中大括號一括就代表一個迴圈,if語句下的大括號就不是迴圈。
break語句後面可以帶一個數字表示跳出到第幾層迴圈之外,以break語句所在的大括號區域為第一層迴圈。依序往外遞加,而不是從外到裡遞增。但注意數字太大以至於超越最外層的循環!例如總共只有3層循環,你卻要跳4層,這就會出錯! break預設跳出循環層數是1.
continue語句則用於結束本次循環,跳過本次循環剩下的程式碼開始一個新的循環。
goto語句只在php5.3以上版本有效
goto的作用:用來跳出迴圈來取代多重迴圈的break語句。使程式碼更簡潔!
php中變數和常數的差異:
1. 常數前面沒有美元符號。
2. 常數透過define()函數或const定義,無法作為賦值語句的左值。
3. 常數可以不理會變數所在的作用域而在任何地方使用和存取。
4. 常數一旦定義就無法重新定義或取消定義。
5. 常數的值是標量【基本資料型別float、int、string、boolean】。
定義一個常數的兩種形式:
define("INT_MAX",255)或 const INT_MAX=255;不能再常數前加美元符號,也不能重新賦值。