国产成人精品亚洲777人妖,欧美日韩精品一区视频,最新亚洲国产,国产乱码精品一区二区亚洲

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

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

瀏覽:2日期: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
相關文章:
主站蜘蛛池模板: 富民县| 秦安县| 五华县| 疏附县| 阜新| 桂阳县| 汽车| 城步| 阿鲁科尔沁旗| 陆川县| 二连浩特市| 无锡市| 大兴区| 盐亭县| 新乐市| 兴义市| 尉犁县| 贺兰县| 阳高县| 南宫市| 平遥县| 楚雄市| 嘉义县| 和政县| 仁布县| 揭阳市| 南漳县| 临城县| 射洪县| 迁西县| 兴宁市| 台湾省| 赤水市| 广宗县| 邛崃市| 英吉沙县| 同江市| 通山县| 永寿县| 桐庐县| 大埔县|