91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

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

發布時間:2020-07-13 07:56:47 來源:網絡 閱讀:1080 作者:shenyisyn 欄目:web開發

詞義理解

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

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

 

函數概念:

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

有幾個要點:

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

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

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

 我們來看段代碼:

    <?php    
      $a="abc";
      var_export(isset($a)); //這里會輸出 true,代表$a這個變量是存在的
    ?>

 用法:

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

 一、檢測GET參數

    <?php    
     
        if(isset($_GET["username"]))
        {
            echo "傳入了GET參數:username";
        }
     
    ?>

 二、檢測數組1

    <?php    
     
      $a=array("a","b","c");
      var_export(isset($a[2]));
      var_export(isset($a[5]));
    ?>

 這里有個技巧:

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

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


三、檢測數組2

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

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

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

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


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

 實際上 用isset效率更高(高一個檔次哦~~~)。 因為用array_key_exists 會對數組的key進行一次查找。

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

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

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

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

 大家看結果:你會發現這里只會輸出“存在1”

 因為key為username的項的值是null.  則isset(null)則結果會返回false。這樣的話,兩個函數(issset和array_key_exists就不一樣了哦)


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

好,下面我來給出答案:

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

 用兩者結合辦法來完成:

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

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


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

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

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

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


向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

临朐县| 江北区| 旌德县| 呼和浩特市| 松阳县| 涡阳县| 安龙县| 修水县| 东城区| 尉氏县| 克拉玛依市| 什邡市| 石家庄市| 双柏县| 灵丘县| 沐川县| 易门县| 偏关县| 通辽市| 宁城县| 建昌县| 石楼县| 东乌珠穆沁旗| 淅川县| 新田县| 渑池县| 柘城县| 林西县| 新乡县| 两当县| 陕西省| 绵竹市| 铜陵市| 黔东| 曲靖市| 韶山市| 栖霞市| 中阳县| 乐山市| 泰顺县| 罗甸县|