要明確地將乙個值轉換成 boolean
,用(bool) 或者(boolean) 來強制轉換。但是很多情況下不需要用強制轉換,因為當運算子,函式或者流程控制結構需要乙個boolean
引數時,該值會被自動轉換。
參見型別轉換的判別。
當轉換為 boolean
時,以下值被認為是false
:
warning浮點數的精度有限。儘管取決於系統,php 通常使用 ieee 754 雙精度格式,則由於取整而導致的最大相對誤差為 1.11e-16。非基本數**算可能會給出更大誤差,並且要考慮到進行復合運算時的誤差傳遞。
此外,以十進位制能夠精確表示的有理數如 0.1 或 0.7,無論有多少尾數都不能被內部所使用的二進位制精確表示,因此不能在不丟失一點點精度的情況下轉換為二進位制的格式。這就會造成混亂的結果:例如,floor((0.1+0.7)*10) 通常會返回7 而不是預期中的8,因為該結果內部的表示其實是類似 7.9999999999999991118...。
所以永遠不要相信浮點數結果精確到了最後一位,也永遠不要比較兩個浮點數是否相等。如果確實需要更高的精度,應該使用任意精度數學函式或者gmp 函式。
參見» 浮點數指南網頁的簡單解釋。
就象 heredoc 結構類似於雙引號字串,nowdoc 結構是類似於單引號字串的。nowdoc 結構很象 heredoc 結構,但是 nowdoc 中不進行解析操作。這種結構很適合用於嵌入 php **或其它大段文字而無需對其中的特殊字元進行轉義。與 sgml 的 結構是用來宣告大段的不用解析的文字類似,nowdoc 結構也有相同的特徵。
乙個 nowdoc 結構也用和 heredocs 結構一樣的標記 <<<, 但是跟在後面的識別符號要用單引號括起來,即<<<'eot'。heredoc 結構的所有規則也同樣適用於 nowdoc 結構,尤其是結束識別符號的規則。
定義陣列 array()¶
可以用 array()
語言結構來新建乙個陣列。它接受任意數量用逗號分隔的 鍵(key) => 值(value)
對。
array( key =>最後乙個陣列單元之後的逗號可以省略。通常用於單行陣列定義中,例如常用 array(1, 2) 而不是 array(1, 2, )。對多行陣列定義通常保留最後乙個逗號,這樣要新增乙個新單元時更方便。value
, ...
)// 鍵(key)可是是乙個整數 integer
或字串 string
// 值(value)可以是任意型別的值
自 5.4 起可以使用短陣列定義語法,用 替代 array()。
example #1 乙個簡單陣列
<?php
$array
= array(
"foo"
=>
"bar"
,"bar"
=>
"foo",);
// 自 php 5.4 起
$array
= ["foo"
=>
"bar"
,"bar"
=>
"foo",];
?>
key 可以是 integer
或者 string
。value 可以是任意型別。
此外 key 會有如下的強制轉換:
如果在陣列定義中多個單元都使用了同乙個鍵名,則只使用了最後乙個,之前的都被覆蓋了。
php偽資料資料型別 PHP的資料型別
php的資料型別 資料型別 整體劃分 標量型別 int,float,string,bool 復合型別 array,object 特殊型別 null,resouce 整數型別int,integer 3種整數表示法 十進位制寫法 123 n1 123 八進位制寫法 0123 n2 0123 十六進製制寫...
PHP 資料型別
php 支援8種基本的資料型別。四種標量型別 boolean 布林型 integer 整型 float 浮點型,也稱作 double string 字串 兩種復合型別 array 陣列 object 物件 最後是兩種特殊型別 resource 資源 null null 為了確保 的易讀性,本手冊還介...
PHP資料型別
php的資料型別主要有 字串,整型,浮點型,邏輯型,陣列,物件和null,var dump函式會返回資料的型別和值資訊 字串是乙個字串行,要用引號標識,寫在單引號或雙引號內,如 hello world是乙個字串 x 我是乙個字串 echo x var dump x 輸出關於x的資訊,型別和值即長度 ...