真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

自學(xué)PHP教程之每天學(xué)一個函數(shù)(一):isset()

詞義理解

成都創(chuàng)新互聯(lián)專注于企業(yè)成都營銷網(wǎng)站建設(shè)、網(wǎng)站重做改版、漳平網(wǎng)站定制設(shè)計(jì)、自適應(yīng)品牌網(wǎng)站建設(shè)、H5技術(shù)、商城網(wǎng)站開發(fā)、集團(tuán)公司官網(wǎng)建設(shè)、外貿(mào)網(wǎng)站制作、高端網(wǎng)站制作、響應(yīng)式網(wǎng)頁設(shè)計(jì)等建站業(yè)務(wù),價(jià)格優(yōu)惠性價(jià)比高,為漳平等各大城市提供網(wǎng)站開發(fā)制作服務(wù)。

is+set :解釋成中文就是,is==是否;set==設(shè)置。連起來讀就是:是否設(shè)置?

那么這貨返回的一定是一個布爾型。(false或者true)

 

函數(shù)概念:

我翻了翻各種資料,大家對這個函數(shù)的解釋是:在php中用來檢測變量是否設(shè)置。

有幾個要點(diǎn):

1、在php中。說明這個函數(shù)只能在php程式中編寫(這句話大家不要認(rèn)為是無聊的,后面會講)

2、檢測變量。說明這個函數(shù)不是用來檢測常量的

譬如:$a=1; 這個$a 就是一個變量。

 我們來看段代碼:

    

 用法:

  上面這個用法是為了解釋語法,事實(shí)上,沒有傻子會設(shè)置完變量后立即對它進(jìn)行檢測。一般來說,我們有以下幾個用法:

 一、檢測GET參數(shù)

    

 二、檢測數(shù)組1

    

 這里有個技巧:

往往開發(fā)c#或者java比較多的人,會習(xí)慣用 if($a[5]==null) 或者 用數(shù)組a的長度來判斷取值是否越界。

在php沒有必要這么干,而且用isset效率還會高一點(diǎn)。就是這句話:isset($a[5]);(注意$a數(shù)組只有3個值,5明顯是越界了)

三、檢測數(shù)組2

 注意:在php中,有的數(shù)組是顯示設(shè)置了key,譬如

$a=array(“username”=>”張三”,”sex”=>”男”);

 如果我們要判斷$a數(shù)組中是否包含key值為username的項(xiàng),那么有兩種辦法

    "張三","sex"=>"男");
       if(array_key_exists("username",$a)) //第一種判斷方法,你是否常用呢?
       {
        echo "存在1";
       }
       if(isset($a["username"]))  //這是第二種辦法,有的人不常用。
       {
        echo "存在2";
       }
    ?>

兩個echo會輸出: 存在1和存在2

 實(shí)際上 用isset效率更高(高一個檔次哦~~~)。 因?yàn)橛胊rray_key_exists 會對數(shù)組的key進(jìn)行一次查找。

而isset 我們可以這么想:php從哈希表中直接把鍵值取出來并判斷一下是否有值,等同于查找key==username的這個項(xiàng)的效果.

大家要注意:上面這個辦法還是有問題的。所以我這里講了僅僅“等同于” array_key_exists的效果,而不是說和它一樣

什么時(shí)候不一樣?我們再來看一個代碼

    null,"sex"=>"男"); //這句不一樣哦~~~~~
       if(array_key_exists("username",$a))
       {
        echo "存在1";
       }
     
       if(isset($a["username"]))
       {
        echo "存在2";
       }
    ?>

 大家看結(jié)果:你會發(fā)現(xiàn)這里只會輸出“存在1”

 因?yàn)閗ey為username的項(xiàng)的值是null.  則isset(null)則結(jié)果會返回false。這樣的話,兩個函數(shù)(issset和array_key_exists就不一樣了哦)

 怎么辦呢?一般情況下,我們不能確保數(shù)組中的值一定不為null。同樣我們又非常計(jì)較性能,希望寫出完美的代碼,怎么辦呢?

好,下面我來給出答案:

    null,"sex"=>"男");
       if(isset($a["username"]) || array_key_exists("username",$a))
       {
        echo "這回值真的肯定存在了";
       }
    ?>

 用兩者結(jié)合辦法來完成:

1、根據(jù)從左到右的法則,程序執(zhí)行時(shí)首先會判斷 isset($a["username"]),如果滿足了,則不會判斷 || 后面的玩意兒。

2、如果isset($a["username"]) 不滿足,那么才會去判斷array_key_exists

誰說魚和熊掌不能兼得?咬一口魚也能咬一口熊掌

------------------------------

關(guān)注我的微信公眾號,每天成熟一點(diǎn)點(diǎn)
關(guān)注步驟:
很直接的拿出手機(jī)->打開微信->點(diǎn)掃一掃,掃下面二維碼即可

自學(xué)PHP教程之每天學(xué)一個函數(shù)(一):isset()


當(dāng)前文章:自學(xué)PHP教程之每天學(xué)一個函數(shù)(一):isset()
本文來源:http://weahome.cn/article/gdiddi.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部