一切的不同都是因為: is_null是函數, isset是語句.is " /> 老师真棒无遮瑕版漫画免费,高清mv视频免费观看,亚洲三级在线视频

天天躁日日躁狠狠躁AV麻豆-天天躁人人躁人人躁狂躁-天天澡夜夜澡人人澡-天天影视香色欲综合网-国产成人女人在线视频观看-国产成人女人视频在线观看

解析isset與is_null的區別

isset和is_null啥區別,
看手冊上講的話, isset和is_null的功能幾乎完全”相反的一樣”..
是不是isset就是一個is_null的相反的別名?
誒, 要說區別, 那還真的是很多~

一切的不同都是因為: is_null是函數, isset是語句.
isset是語句, 和echo, print一樣, 是php本身的一種語言結構.
而is_null是函數, 和我們一般的函數一樣, 可以做為可變函數調用.
你也許會說, 好了,好了,我知道函數和語句的區別, 但到底是TMD什么區別?
誒, 所謂語句,語言結構, 就是說, 是語言本身支持的語句, 標識符.
比如, for, foreach, continue 等等, 它們在語法分析的時刻就被”抹掉”(邏輯上替代了)了.
讓我們看看isset這個語句在語法分析的過程中, 是如何被”抹掉”的.

1. 首先, 在詞法分析的時候, isset會被識別為T_ISSET標識符.
2. 而在語法分析階段, isset($var)這個指令, 會被分析成一條Opcode:ZEND_ISSET_ISEMPTY_VARS.

你可以理解isset就想C語言里面的宏, 在編譯/執行之前已經被展開了.
因為這個, 所以在表現上, 會有如下的不同:
因為is_null是函數, 所以它可以通過如下方式調用:
復制代碼 代碼如下:
<?php
$var = NULL;
$func = "is_null";
$func($var);
?>

而, isset因為是語句, 所以不能這樣調用.
因為is_null是函數, 所以它可以接受函數返回值做為參數, 而isset不行(當然, 如果php想支持, 其實也是可以的, 只不過就要增加編譯階段的復雜度了):
復制代碼 代碼如下:
<?php
is_null(intval("0x45"));
//OK
isset(intval("0x45"));
//php Fatal error: Can't use function return value in write context
is_null(NULL);
//OK
isset(NULL);
//php Parse error: syntax error
?>

說了這么多isset的缺點了, 說點它的優點吧:
因為isset是語句, 所以它快!
在一千萬次的簡單檢測語句循環中, 對比結果如下:
復制代碼 代碼如下:
<?php
$a="laruence":
isset($a); //用時: 1.15s
is_null($a); //用時: 3.89s
?>

因為isset叫做isset, 所以它在檢測未定義變量的時候, 不會產生NOTICE:
復制代碼 代碼如下:
<?php
isset($laruence);
//OK
is_null($laruence);
//php Notice: Undefined variable: laruence
?>

那么, 對于什么時候用isset什么時候用is_null, 我有什么建議呢?
誒, 我的建議是, 用函數做函數應該做的事情~, 聽起來象廢話?
isset => is set? => 變量有沒有被賦值(聲明)
is_null => is null? => 變量為NULL么?
另外, 如果要用is_null, 我建議使用 “=== NULL” 來代替, 它不僅語義和is_null一致, 結果一致, 速度還和isset差不多:
在一千萬次的簡單檢測語句循環中, 對比結果如下:
復制代碼 代碼如下:
<?php
$a="laruence":
isset($a); //用時: 1.15s
is_null($a); //用時: 3.88s
$a===NULL; //用時: 1.22s
?>

php技術解析isset與is_null的區別,轉載需保留來源!

鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。

主站蜘蛛池模板: 亚洲国产日韩欧美高清片a 亚洲国产日韩a精品乱码 | 高h乱np甄宓 | 国产日韩亚洲精品视频 | 国产欧美一区二区三区久久 | 色婷婷国产精品视频一区二区三区 | 幼儿交1300部一区二区 | 人人啪日日观看在线 | 免费可以看黄的视频s色 | 野草在线视频完整视频 | 国产亚洲欧美高清在线 | 丰满的美女射精动态图 | 持田香织abc | 狠狠鲁快播 | 国产一级特黄a大片99 | 国产品无码一区二区三区在线 | 饥渴的护士自慰被发现 | 欧美 日韩 无码 有码 在线 | 中文字幕一区久久久久 | 秋霞伦理机在线看片 | 天美传媒果冻传媒入口视频 | 国产精品人妻无码免费A片导航 | 国产超碰精久久久久久无码AV | 国产精品卡1卡2卡三卡四 | 国产精品嫩草影院在线观看免费 | 亚洲欧洲精品A片久久99 | 秋霞网在线伦理免费 | 国产欧美日韩综合精品一区二区 | 久久热免费观看视频 | 免费99精品国产人妻自在线 | 99国内精品 | 动漫成人片 | 伊人久久综合影院首页 | 97国内精品久久久久久久影视 | 久久婷婷久久一区二区三区 | 国产在线一区二区三区四区 | 欧美日韩另类在线观看视频 | 麻豆人妻换人妻X99 麻豆区蜜芽区 | 亚洲欧美精品无码一区二在线 | 1973性农场未删减版 | 99国产这里只有精品视频 | 精品午夜久久福利大片免费 |