久久r热视频,国产午夜精品一区二区三区视频,亚洲精品自拍偷拍,欧美日韩精品二区

您的位置:首頁技術文章
文章詳情頁

PHP基礎之數據類型10——類型轉換的判別

瀏覽:5日期:2022-09-14 16:32:55

PHP 在變量定義中不需要(或不支持)明確的類型定義;變量類型是根據使用該變量的上下文所決定的。也就是說,如果把一個字符串值賦給變量?$var,$var?就成了一個字符串。如果又把一個整型值賦給?$var,那它就成了一個整數。

PHP 的自動類型轉換的一個例子是加法運算符“+”。如果任何一個操作數是浮點數,則所有的操作數都被當成浮點數,結果也是浮點數。否則操作數會被解釋為整數,結果也是整數。注意這并沒有改變這些操作數本身的類型;改變的僅是這些操作數如何被求值以及表達式本身的類型。

<?php$foo?=?'0';??//?$foo?是字符串?(ASCII?48)$foo?+=?2;???//?$foo?現在是一個整數?(2)$foo?=?$foo?+?1.3;??//?$foo?現在是一個浮點數?(3.3)$foo?=?5?+?'10?Little?Piggies';?//?$foo?是整數?(15)$foo?=?5?+?'10?Small?Pigs';?????//?$foo?是整數?(15)?>

如果想要測試本節中任何例子的話,可以用?var_dump()?函數。

Note:

自動轉換為?數組?的行為目前沒有定義。

此外,由于 PHP 支持使用和數組下標同樣的語法訪問字符串下標,以下例子在所有 PHP 版本中都有效:

<?php$a????=?’car’;?//?$a?is?a?string$a[0]?=?’b’;???//?$a?is?still?a?stringecho?$a;???????//?bar?>類型強制轉換

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

<?php$foo?=?10;???//?$foo?is?an?integer$bar?=?(boolean)?$foo;???//?$bar?is?a?boolean?>

允許的強制轉換有:

(int), (integer) - 轉換為整形?integer(bool), (boolean) - 轉換為布爾類型?boolean(float), (double), (real) - 轉換為浮點型?float(string) - 轉換為字符串?string(array) - 轉換為數組?array(object) - 轉換為對象?object(unset) - 轉換為?NULL?(PHP 5)

(binary) 轉換和 b 前綴轉換支持為 PHP 5.2.1 新增。

注意在括號內允許有空格和制表符,所以下面兩個例子功能相同:

<?php$foo?=?(int)?$bar;$foo?=?(?int?)?$bar;?>

將字符串文字和變量轉換為二進制字符串:

<?php$binary?=?(binary)$string;$binary?=?b'binary?string';?>

Note:

可以將變量放置在雙引號中的方式來代替將變量轉換成字符串:

<?php$foo?=?10;????????????//?$foo?是一個整數$str?=?'$foo';????????//?$str?是一個字符串$fst?=?(string)?$foo;?//?$fst?也是一個字符串//?輸出?'they?are?the?same'if?($fst?===?$str)?{echo?'they?are?the?same';}?>

有時在類型之間強制轉換時確切地會發生什么可能不是很明顯。更多信息見如下小節:

轉換為布爾型轉換為整型轉換為浮點型轉換為字符串轉換為數組轉換為對象轉換為資源轉換為 NULL
標簽: PHP
相關文章:
主站蜘蛛池模板: 华坪县| 镇平县| 东阳市| 青河县| 花垣县| 昌都县| 永清县| 延川县| 肇源县| 白城市| 江达县| 龙口市| 甘孜县| 平南县| 黑山县| 松滋市| 房产| 廉江市| 临洮县| 康保县| 井研县| 靖边县| 金寨县| 通山县| 巴楚县| 平潭县| 淳化县| 乐清市| 长丰县| 清远市| 蒙山县| 清原| 南汇区| 永年县| 旬邑县| 阳山县| 贺州市| 板桥市| 武冈市| 长阳| 锦州市|