中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

有哪些php的類型強制轉換

發布時間:2020-07-22 11:03:53 來源:億速云 閱讀:117 作者:Leah 欄目:編程語言

有哪些php的類型強制轉換?很多新手對此不是很清楚,為了幫助大家解決這個難題,下面小編將為大家詳細講解,有這方面需求的人可以來學習下,希望你能有所收獲。

php強制轉換類型有:1、轉換成整型;2、轉換成布爾型;3、轉換成浮點型;4、轉換成字符串;5、轉換成數組;6、轉換成對象。

php強制轉換類型有:

PHP 中的類型強制轉換和 C 中的非常像:在要轉換的變量之前加上用括號括起來的目標類型。

允許的強制轉換有:

  • (int),(integer)            - 轉換成整型

  • (bool),(boolean)           - 轉換成布爾型

  • (float),(double),(real)    - 轉換成浮點型

  • (string)                  - 轉換成字符串

  • (array)                    - 轉換成數組

  • (object)                   - 轉換成對象

注意在括號內允許有空格和制表符

還可以用settype ( mixed var, string type )進行強制轉換.

1.強制轉換為布爾值 (bool)|(boolean)

要明示地將一個值轉換成 boolean,用 (bool) 或者 (boolean) 來強制轉換。但是很多情況下不需要用強制轉換,因為當運算符,函數或者流程控制需要一個 boolean 參數時,該值會被自動轉換。

當轉換為 boolean 時,以下值被認為是 FALSE:

布爾值 FALSE

整型值 0(零)

浮點型值 0.0(零)

空白字符串和字符串 "0"

沒有成員變量的數組

沒有單元的對象(僅適用于 PHP 4)

特殊類型 NULL(包括尚未設定的變量)

所有其它值都被認為是 TRUE(包括任何資源)。

<?php
var_dump((bool) ""); // bool(false)
var_dump((bool) 1); // bool(true)
var_dump((bool) -2); // bool(true)
var_dump((bool) "foo"); // bool(true)
var_dump((bool) 2.3e5); // bool(true)
var_dump((bool) array(12)); // bool(true)
var_dump((bool) array()); // bool(false)
var_dump((bool) "false"); // bool(true)
?>

2.強制轉換為整形(int)|(integer)

要明示地將一個值轉換為 integer,用 (int) 或 (integer) 強制轉換。不過大多數情況下都不需要強制轉換,因為當運算符,函數或流程控制需要一個 integer 參數時,值會自動轉換。還可以通過函數 intval() 來將一個值轉換成整型。

a.從bool轉換

b.從浮點數轉換     取整,超出范圍,結果不定

c.從字符串轉換     參看字符串轉換為數值

d.從其它類型轉換   先換成 bool值,再轉換

決不要將未知的分數強制轉換為 integer,這樣有時會導致意外的結果。

<?php
echo (int) ( (0.1+0.7) * 10 ); // 顯示 7
?>
$str = "123.456abc7"; // (int)123
echo (int)$str;
$str = "abc123.456";   // (int)0
$str = true;           // (int)1
$str = false;          // (int)0

3.強制轉換為浮點型 (int)|(double)|(real)|doubleval()|floatval()|intval()

精度: 0.12345678901234 // double,real都一樣

數據的丟失參 字符串轉換為數值

4.強制換為字符串 (string) |strval()

可以用 (string) 標記或者 strval() 函數將一個值轉換為字符串。當某表達式需要字符串時,字符串的轉換會在表達式范圍內自動完成。例如當使用 echo() 或者 print() 函數時,或者將一個變量值與一個字符串進行比較的時候。

  • 布爾值 TRUE 將被轉換為字符串 "1",而值 FALSE 將被表示為 ""(即空字符串)。這樣就可以隨意地在布爾值和字符串之間進行比較。

  • 整數或浮點數數值在轉換成字符串時,字符串由表示這些數值的數字字符組成(浮點數還包含有指數部分)。

  • 數組將被轉換成字符串 "Array",因此無法通過 echo() 或者 print() 函數來輸出數組的內容。請參考下文以獲取更多提示。

  • 對象將被轉換成字符串 "Object"。如果因為調試需要,需要將對象的成員變量打印出來,請閱讀下文。如果希望得到該對象所依附的類的名稱,請使用函數 get_class()。自 PHP 5 起,如果合適可以用 __toString() 方法。

  • 資源類型總是以 "Resource id #1" 的格式被轉換成字符串,其中 1 是 PHP 在運行時給資源指定的唯一標識。如果希望獲取資源的類型,請使用函數 get_resource_type()。

  • NULL 將被轉換成空字符串。

正如以上所示,將數組、對象或者資源打印出來,并不能提供任何關于這些值本身的有用的信息。請參閱函數 print_r()var_dump(),對于調試來說,這些是更好的打印值的方法。

可以將 PHP 的值轉換為字符串以永久地儲存它們。這種方法被稱為序列化,可以用函數serialize()來完成該操作。如果在安裝 PHP 時建立了 WDDX 支持,還可以將 PHP 的值序列化為 XML 結構。

5. 強制轉換為數組 (array)

對于任何的類型:整型、浮點、字符串、布爾和資源,如果將一個值轉換為數組,將得到一個僅有一個元素的數組(其下標為 0),該元素即為此標量的值。

如果將一個對象轉換成一個數組,所得到的數組的元素為該對象的屬性(成員變量),其鍵名為成員變量名。

如果將一個 NULL 值轉換成數組,將得到一個空數組。

6. 轉換為對象 (object)

如果將一個對象轉換成對象,它將不會有任何變化。

如果其它任何類型的值被轉換成對象,內置類 stdClass 的一個實例將被建立。

如果該值為 NULL,則新的實例為空。數組轉換成對象將使鍵名成為屬性名并具有相對應的值。

對于任何其它的值,名為 scalar 的成員變量將包含該值

7.轉換為資源 (無法轉換)

由于資源類型變量保存有為打開文件、數據庫連接、圖形畫布區域等的特殊句柄,因此無法將其它類型的值轉換為資源。

注意

  • HTML 表單并不傳遞整數、浮點數或者布爾值,它們只傳遞字符串。要想檢測一個字符串是不是數字,可以使用 is_numeric() 函數。

  • 在沒有定義變量 $x 的時候,諸如 if ($x) 的用法會導致一個 E_NOTICE 級別的錯誤。所以,可以考慮用 empty


看完上述內容是否對您有幫助呢?如果還想對相關知識有進一步的了解或閱讀更多相關文章,請關注億速云行業資訊頻道,感謝您對億速云的支持。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

收藏| 永新县| 乐东| 新平| 邯郸县| 抚宁县| 仁布县| 南木林县| 焦作市| 富蕴县| 安康市| 邢台县| 陵水| 义马市| 保康县| 隆子县| 民丰县| 新密市| 临朐县| 左云县| 上饶市| 庆安县| 濮阳市| 苗栗市| 连云港市| 宣恩县| 云林县| 黄平县| 嘉荫县| 滨海县| 安平县| 博湖县| 尉犁县| 建水县| 馆陶县| 陵川县| 隆尧县| 镇平县| 浦江县| 聊城市| SHOW|