成人性生交大片免费看视频r_亚洲综合极品香蕉久久网_在线视频免费观看一区_亚洲精品亚洲人成人网在线播放_国产精品毛片av_久久久久国产精品www_亚洲国产一区二区三区在线播_日韩一区二区三区四区区区_亚洲精品国产无套在线观_国产免费www

主頁 > 知識庫 > PHP中強制類型轉(zhuǎn)換的示例詳解

PHP中強制類型轉(zhuǎn)換的示例詳解

熱門標簽:OMG地圖標注app 地圖標注視頻廣告入駐 ai電話機器人加盟代理 電銷機器人便宜的有嗎 400電話鄭州申請 中原區(qū)電話機器人價格 gps 地圖標注軟件 黔江400電話如何辦理 招標自動語音外呼系統(tǒng)

前言

學過靜態(tài)語言開發(fā)的朋友對類型轉(zhuǎn)換不會陌生,比如Java、C#、C++等。靜態(tài)語言的好處就是變量強制必須指定類型,這也是編譯的要求,所以大部分編譯型的語言都會有強制變量類型的要求。而PHP據(jù)說也會在PHP8中加入JIT實現(xiàn)編譯功能,并且在7.4中就會引入變量聲明時的類型指定。下面我們先看看目前PHP中的參數(shù)類型及返回值類型的使用。

1function add(int $a, float $b) : int{
2 return (int) $a + $b;
3}

上述代碼中,方法參數(shù)中定義了參數(shù)的類型,包括一個int類型的a和一個float類型的b。然后在方法后面定義了方法的返回值必須是int類型。我們知道,如果計算表達式中出現(xiàn)了float類型,那么計算結(jié)果會變成float類型。這個方法需要返回的是一個int類型。因此我們使用了一個強制類型轉(zhuǎn)換(int)。在定義了參數(shù)類型和返回值類型后,如果傳遞或者返回的類型不一致,就會報錯。

參數(shù)類型和返回值類型最好在7以上的版本使用。基本類型如int、float等的參數(shù)類型聲明都是7以后才支持的,詳情參見文檔:

https://www.php.net/manual/zh/functions.arguments.php

我們通過(int)、(float)、(bool)等就可以實現(xiàn)PHP的類型強制轉(zhuǎn)換,和C基本上一樣。文檔中關(guān)于可以強制轉(zhuǎn)換的包括如下類型:

  • (int), (integer) - 轉(zhuǎn)換為整形 integer
  • (bool), (boolean) - 轉(zhuǎn)換為布爾類型 boolean
  • (float), (double), (real) - 轉(zhuǎn)換為浮點型 float
  • (string) - 轉(zhuǎn)換為字符串 string
  • (array) - 轉(zhuǎn)換為數(shù)組 array
  • (object) - 轉(zhuǎn)換為對象 object
  • (unset) - 轉(zhuǎn)換為 NULL (PHP 5)
  • (binary) 轉(zhuǎn)換和 b 前綴轉(zhuǎn)換支持為 PHP 5.2.1 新增

(int), (integer)

如果是布爾值,轉(zhuǎn)換結(jié)果為false變成0,true變成1

如果是float,向下取整,如7.99會轉(zhuǎn)換為7

如果是字符串,字符串從頭開始查找,開頭第一個是數(shù)字會直接變成該轉(zhuǎn)換結(jié)果,如果開頭沒有數(shù)字返回0

其他類型轉(zhuǎn)換在文檔中并沒有定義,文檔提示為“沒有定義從其它類型轉(zhuǎn)換為整型的行為。不要依賴任何現(xiàn)有的行為,因為它會未加通知地改變?!?,但我們通過測試,可以發(fā)現(xiàn)對于其他類型的轉(zhuǎn)換是通過多次的類型轉(zhuǎn)換達成的,比如數(shù)組類型轉(zhuǎn)換為int類型,是根據(jù)數(shù)組是否包含內(nèi)容轉(zhuǎn)換為bool類型后再轉(zhuǎn)換為int類型

// (int)(integer)
 
var_dump((int) true); // 1
var_dump((int) false); // 0
 
var_dump((int) 7.99); // 7
 
var_dump((int) "35 ok"); // 35
var_dump((int) "ok 77"); // 0
var_dump((int) "ok yes"); // 0

var_dump((int) []); // 0
var_dump((int) [3,4,5]); // 1

(bool)(boolean)

當轉(zhuǎn)換為 boolean 時,以下值被認為是 FALSE:

  • 布爾值 FALSE 本身
  • 整型值 0(零)
  • 浮點型值 0.0(零)
  • 空字符串,以及字符串 "0"
  • 不包括任何元素的數(shù)組
  • 特殊類型 NULL(包括尚未賦值的變量)
  • 從空標記生成的 SimpleXML 對象

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

這里需要注意的是,負數(shù)也會是TRUE,只有0是FASLE

// (bool)(boolean)

var_dump((bool) 0); // false
var_dump((bool) 1); // true
var_dump((bool) -1); // true

var_dump((bool) 0.0); // false
var_dump((bool) 1.1); // true
var_dump((bool) -1.1); // true

var_dump((bool) ""); // false
var_dump((bool) "0"); // false
var_dump((bool) "a"); // true

var_dump((bool) []); // false
var_dump((bool) ['a']); // true

$a;
var_dump((bool) $a); // false
var_dump((bool) NULL); // false

(string)

  • 布爾值,false轉(zhuǎn)換為空字符串"",true轉(zhuǎn)換為"1"
  • int或float類型,轉(zhuǎn)換為字符串形式的字面量,如1轉(zhuǎn)換為"1"
  • 數(shù)組和對象分別轉(zhuǎn)換為"Array"和"Object"字面量
  • 資源類型會被轉(zhuǎn)換為"Resource id #1"形式的字面量
  • NULL轉(zhuǎn)換為空字符串""

直接把 array,object 或 resource 轉(zhuǎn)換成 string 不會得到除了其類型之外的任何有用信息??梢允褂煤瘮?shù) print_r() 和 var_dump() 列出這些類型的內(nèi)容

注:測試結(jié)果,對象類型需要實現(xiàn)__tostring()魔術(shù)函數(shù),否則報錯無法轉(zhuǎn)換為string類型

// (string)

var_dump((string) true); // "1"
var_dump((string) false); // ""

var_dump((string) 55); // "55"
var_dump((string) 12.22); // "12.22"

var_dump((string) ['a']); // "Array"
class S{
 function __tostring(){
 return "S";
 }
}
var_dump((string) new S()); // "S"

var_dump((string) NULL); // ""

(array)

對于任意 integer,float,string,boolean 和 resource 類型,如果將一個值轉(zhuǎn)換為數(shù)組,將得到一個僅有一個元素的數(shù)組,其下標為 0,該元素即為此標量的值。換句話說(array)scalarValue 與 array(scalarValue) 是完全一樣的

如果一個 object 類型轉(zhuǎn)換為 array,則結(jié)果為一個數(shù)組,其單元為該對象的屬性。鍵名將為成員變量名,不過有幾點例外:整數(shù)屬性不可訪問;私有變量前會加上類名作前綴;保護變量前會加上一個 '*' 做前綴。這些前綴的前后都各有一個 NULL 字符

將 NULL 轉(zhuǎn)換為 array 會得到一個空的數(shù)組

// (array)

var_dump((array) 1);
var_dump((array) 2.2);

var_dump((array) "a");

var_dump((array) true);

class Arr
{
 public $a = 1;
 private $b = 2.2;
 protected $c = "f";
}
class ChildArr extends Arr
{
 public $a = 2;
 private $d = "g";
 private $e = 1;
}
var_dump((array) new Arr());
var_dump((array) new ChildArr());

var_dump((array) null);

(object)

如果將一個對象轉(zhuǎn)換成對象,它將不會有任何變化。如果其它任何類型的值被轉(zhuǎn)換成對象,將會創(chuàng)建一個內(nèi)置類 stdClass 的實例。如果該值為 NULL,則新的實例為空。array 轉(zhuǎn)換成 object 將使鍵名成為屬性名并具有相對應(yīng)的值

注意:使用 PHP 7.2.0 之前的版本,數(shù)字鍵只能通過迭代訪問

// (object)

var_dump((object) 1);
var_dump((object) 1.1);
var_dump((object) "string");
var_dump((object) true);
var_dump((object) NULL);

var_dump((object) [1, 2, 3]);
var_dump((object) ["a" => 1, "b" => 2, "c" => 3]);

(unset)

使用 (unset) $var 將一個變量轉(zhuǎn)換為 null 將不會刪除該變量或 unset 其值。僅是返回 NULL 值而已

// (unset)

var_dump((unset) 1);
var_dump((unset) 1.1);
var_dump((unset) "string");
var_dump((unset) true);
var_dump((unset) null);

var_dump((unset) [1, 2, 3]);
var_dump((unset) new \stdClass());

(binary)

將所有類型轉(zhuǎn)換為二進制字符串。二進制字符串是區(qū)別于傳統(tǒng)常用的普通php的Unicode字符串。二進制字符串是字節(jié)字符串,沒有字符集。具體的區(qū)別就類似于數(shù)據(jù)庫中的binary和char類型及blob和text類型

在日常的開發(fā)中基本用不到,了解即可

// (binary)

var_dump((binary) 1);
var_dump((binary) 1.1);
var_dump((binary) "string");
var_dump((binary) true);
var_dump((binary) null);

var_dump((binary) [1, 2, 3]);
var_dump((binary) new S());

以上就是我們的強制類型轉(zhuǎn)換的所有類型,其中有一些類型的轉(zhuǎn)換中提到了資源類型(Resource),但是并沒有資源類型的強制轉(zhuǎn)換。因為資源類型大多是一些句柄操作,如數(shù)據(jù)庫鏈接、文件讀寫等,將其它類型強制轉(zhuǎn)換為資源類型沒有意義。

本文內(nèi)容會經(jīng)常出現(xiàn)在面試題中,而且在實際開發(fā)中的很多邏輯判斷出現(xiàn)的BUG也常常是由于PHP的自動類型轉(zhuǎn)換所導致的,所以這篇文章好好收藏多拿出來看看絕對會讓你有意想不到的收獲哦?。?/p>

測試代碼:

https://github.com/zhangyue0503/dev-blog/blob/master/php/201910/source/php%E4%B8%AD%E7%9A%84%E5%BC%BA%E5%88%B6%E7%B1%BB%E5%9E%8B%E8%BD%AC%E6%8D%A2.php

參考文檔:

https://www.php.net/manual/zh/language.types.type-juggling.php#language.types.typecasting

總結(jié)

到此這篇關(guān)于PHP中強制類型轉(zhuǎn)換的文章就介紹到這了,更多相關(guān)PHP強制類型轉(zhuǎn)換內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

您可能感興趣的文章:
  • PHP 變量類型的強制轉(zhuǎn)換
  • 淺談PHP強制類型轉(zhuǎn)換,慎用!
  • php foreach 參數(shù)強制類型轉(zhuǎn)換的問題
  • 解析PHP強制轉(zhuǎn)換類型及遠程管理插件的安全隱患
  • PHP數(shù)組Key強制類型轉(zhuǎn)換實現(xiàn)原理解析

標簽:池州 北京 日照 那曲 濟源 孝感 哈密 阿里

巨人網(wǎng)絡(luò)通訊聲明:本文標題《PHP中強制類型轉(zhuǎn)換的示例詳解》,本文關(guān)鍵詞  PHP,中,強制,類型,轉(zhuǎn)換,的,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《PHP中強制類型轉(zhuǎn)換的示例詳解》相關(guān)的同類信息!
  • 本頁收集關(guān)于PHP中強制類型轉(zhuǎn)換的示例詳解的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    牛牛热在线视频| 国产大片中文字幕在线观看| 亚洲欧美激情另类| 国产成人免费视频| 人妻视频一区二区| eeuss影院www在线播放| 制服.丝袜.亚洲.中文.综合懂色| 中文字幕永久在线不卡| 中文一区一区三区免费在线观看| 青青在线观看视频中文字| 亚洲自拍偷拍色片视频| 国产97在线观看| 影音先锋在线播放| 国产日产欧美一区| 国产毛片久久久久| 国产九九在线观看| 国模私拍视频在线观看| jizz性欧美| аⅴ资源新版在线天堂| 欧美日韩一区二区三区在线免费观看| 欧美伊人亚洲伊人色综合动图| 国产一区二区三区| 亚洲综合小说网| 黑料吃瓜在线观看| 中文字幕av不卡在线| 国产ts在线播放| h网站在线看| 国产精品毛片久久久久久久av| 一级性生活免费视频| 中文亚洲欧美| 亚洲图片欧美另类| 亚洲国产一区二区三区网站| 日韩精品一区二区亚洲av| 91免费网站视频| 久久精品在线| 97人妻精品一区二区三区免| 1024精品一区二区三区| 92精品国产成人观看免费| 国产伦理一区二区三区| 电影一区二区在线观看| 色与欲影视天天看综合网| 欧美日韩国产影片| 亚洲天堂视频网| 精品无人区一区二区| 国产高清免费av在线| 亚洲黄色在线播放| 日本年轻的继坶中文字幕| 色哟哟无码精品一区二区三区| 国产露脸无套对白在线播放| 视频一区 中文字幕| 一级黄色免费网站| 精品自在线视频| 亚洲成人一区二区在线观看| 神马久久高清| 一区二区三区精| 成年人视频网站| 全部av―极品视觉盛宴亚洲| 欧美日韩另类在线| a天堂中文在线官网| 欧美电影一区二区三区| 国产精品扒开腿做爽爽爽的视频| 亚洲日本中文字幕免费在线不卡| 国产精品系列在线| 欧美最猛黑人xxxx| 182在线视频| 成人性生交大片免费看视频直播| 欧美大片网站在线观看| 在线播放免费视频| 国产精品一码二码三码在线| 色女孩综合网| 91av视频在线免费观看| 国产91在线高潮白浆在线观看| 少妇淫片在线影院| 51精品久久久久久久蜜臀| 中文字幕日韩精品无码内射| 国产传媒第一页| 国产91精品捆绑调教| 国产又黄又猛又粗又爽| 欧美性xxxx极品hd满灌| 精品久久久久久久久久久久久久久| 欧美一区免费观看| 亚洲亚洲人成综合网络| 久久人人妻人人人人妻性色av| 精品国产aⅴ一区二区三区东京热| 伊人久久婷婷色综合98网| 日韩国产精品一区二区三区| 91精品久久久久久久91蜜桃| 伊人精品一区| 川上优的av在线一区二区| 久久黄色免费网站| 精品粉嫩超白一线天av| 国产高清视频在线观看| 亚洲精品国产精品自产a区红杏吧| 欧美极品jizzhd欧美| 日韩专区一区二区| 国产精品资源在线看| 美女主播精品视频一二三四| 日韩在线免费高清视频| 欧亚精品在线观看| 久久久久久久久久久久久久av| www.亚洲精品| 青娱乐国产在线| 久久手机免费视频| 成人激情视频在线观看| 正在播放木下凛凛xv99| 91精品国产高清自在线| 精品一区二区三区人妻| 日韩中文字幕在线视频播放| 亚洲黄网站在线观看| 自拍偷拍精品视频| 国产福利成人在线| 青春有你2免费观看完整版在线播放高清| 又长又粗又大又爽| 亚洲а∨天堂久久精品9966| 久久久久久久国产精品视频| 91亚洲午夜在线| 99热这里只有精品在线观看| 91国产美女在线观看| 黄色春季福利在线看| 久久在线免费视频| 黑人一区二区三区四区五区| 成人交换视频| 亚洲人成影视在线观看| 熟妇高潮一区二区| 一级黄色大片儿| 亚洲成人网av| 国产精品免费无码| 色妞色视频一区二区三区四区| 懂色av一区二区三区| 天美星空大象mv在线观看视频| 国产成人女人毛片视频在线| 欧美亚洲精品在线观看| 欧美亚洲综合久久| 高清成人在线观看| 午夜cr在线观看高清在线视频完整版| 亚洲天堂中文字幕在线| 国产一区欧美二区三区| 久久国产福利国产秒拍| 欧美精选视频在线观看| 久色乳综合思思在线视频| 尤物精品国产第一福利三区| 夜夜骑天天操| 国产成人亚洲精品无码h在线| 成熟的女同志hd| 波兰性xxxxx极品hd| 特级黄色录像片| 欧美热在线视频精品999| 9999在线视频| 久久精品人妻一区二区三区| 涩多多在线观看| 一本大道伊人av久久综合| 找av导航入口| 丰满肉肉bbwwbbww| 天堂√在线中文官网在线| 欧美日韩国产中文字幕在线| 日本一二三视频| 亚洲综合激情另类专区老铁性| 黄上黄在线观看| 亚洲国产精品精华液网站| 中文字幕黄色片| 国产精品美女久久久久| 妞干网在线观看视频| 国产精品综合久久久久久| 国产乱淫av麻豆国产免费| 女人十八岁毛片| 希岛爱理一区二区三区| 国产精品mp4| 国产av无码专区亚洲精品| 亚洲尤物视频在线| 一本久道在线| 亚洲视频在线免费观看| 欧美性色黄大片人与善| 国内精品久久久久久久久| www.午夜激情| 欧美13一16娇小xxxx| 在线免费av电影| 播金莲一级淫片aaaaaaa| 日韩精品在线私人| 秋霞毛片久久久久久久久| 亚洲国产综合人成综合网站| 自拍亚洲色图| 久久国产剧场电影| 免费在线观看国产黄| 亚洲欧美一区在线| 99久久精品国产观看| 奇米777四色影视在线看| 中文字幕97| 亚洲在线观看免费视频| 日韩不卡免费高清视频| 黄色大片网站在线观看| 欧美激情综合色综合啪啪五月| 美女脱光内衣内裤视频久久网站| 中文字幕在线播放一区二区| 国产一区二区三区亚洲综合| 国产精品久久久久久久久久妞妞| 最近中文字幕2019第二页视频| 成年人网站大全| 欧美成人精品一区二区三区| 久久久久久**毛片大全| 99电影网电视剧在线观看| 日韩欧美在线123| 亚洲精品乱码久久久久久蜜桃图片| 一卡二卡3卡四卡高清精品视频| 激情成人在线视频| 尤物在线免费视频| 亚洲激情在线| 在线不卡中文字幕播放| 亚洲国产日韩一区| 麻豆影视在线| а√天堂资源国产精品| 欧美 亚洲 视频| 日韩人妻一区二区三区| 四季av一区二区三区免费观看| 亚洲欧美一区二区三区孕妇| 麻豆成人在线视频| 国产精品久久久久久久久免费| 精品人妻一区二区三| 国产盗摄在线视频网站| 制服诱惑亚洲| 日日夜夜狠狠操| 国产精品视频流白浆免费视频| 国产精品xxx电影| 91麻豆精品国产91久久久久久久久| 99国内精品久久久久久久| 中文字幕在线综合| 中文字幕第12页| 黄色一级片免费在线观看| 91网页在线观看| 欧美亚洲国产怡红院影院| 国产精品白丝av嫩草影院| 国产精品视频色| www.99com| 欧美顶级大胆免费视频| 在线日韩电影| 日韩电影第一页| av一区二区三区免费| 国产高清av在线播放| 在线色欧美三级视频| 91视频网址免费观看| 神马午夜精品91| 日韩在线 中文字幕| 香蕉视频网站在线观看| 欧美一级做a爰片免费视频| 中文字幕精品—区二区日日骚| 精品一区二区三区中文字幕| 国产精品国产三级国产aⅴ入口| 国产日韩欧美夫妻视频在线观看| 精品国产福利| 51成人做爰www免费看网站| 精品国产高清自在线一区二区三区| 精品亚洲国内自在自线福利| 欧美性猛交xxx高清大费中文| 成全在线观看免费完整动漫| 欧美一级日韩不卡播放免费| 成人性视频免费看| 中文字幕精品三区| 在线观看免费的av| 91桃色在线| 精品久久久久久久久久久院品网| 欧美日韩视频在线一区二区观看视频| 日韩在线综合网| 成人精品一区二区三区电影免费| 欧美日韩国产高清| 国产精品高清亚洲| 国产精品suv一区二区69| 久久久久一区二区三区四区| 欧美成人日韩| 亚洲欧美激情另类| 91亚洲精品在线观看| 6699久久国产精品免费| 欧洲猛交xxxx乱大交3| 视频一区视频二区欧美| 国产精自产拍久久久久久蜜| 国产51人人成人人人人爽色哟哟| 中国特级黄色大片| 三上悠亚激情av一区二区三区| 国产女人18水真多毛片18精品| 成全电影大全在线观看| 美女主播视频一区| 丁香视频免费观看| 777片理伦片在线观看| 性爱视频在线播放| 亚洲精品无码专区在线播放| av文字幕在线观看| 亚洲免费播放| 日韩av一二三四| 亚洲xxxx做受欧美| 夜夜夜久久久| 日韩a级在线观看| 色播五月综合| 免费a v网站| 精品在线亚洲视频| 欧美特黄a级高清免费大片a级| 天天爽夜夜爽夜夜爽精品视频| 国产高清视频免费| 96精品久久久久中文字幕| 亚洲看片免费| 欧美特黄a级高清免费大片a级| 91福利区一区二区三区| 国产精品福利在线播放| 午夜羞羞小视频在线观看| 久久99久久久久久久噜噜| 夜夜操免费视频| 欧美一区二区三区成人| 午夜婷婷在线观看| 日本韩国免费观看| 国产黄色免费视频| 国产精品成人免费精品自在线观看| 成人亚洲欧美一区二区三区| 高清在线视频日韩欧美| 日韩专区中文字幕一区二区| 精品国产乱码久久久久久牛牛| 久久国产乱子伦精品| 91 在线视频观看| 亚洲综合激情另类专区老铁性| av观看网址| 中文字幕在线视频观看| 日本国产在线| 99久久这里只有精品| 国产寡妇树林野战在线播放| 免费看国产精品一二区视频| 久久久久久久久精| 无需播放器亚洲| 黑人精品xxx一区一二区| 天堂一区二区三区四区| 日韩欧美一区在线观看| 日本黄色www| 日韩精品一区二区在线观看|