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

溫馨提示×

溫馨提示×

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

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

如何在PHP中使用in_array進行隱式轉換

發布時間:2021-02-24 15:45:49 來源:億速云 閱讀:142 作者:戴恩恩 欄目:開發技術

這篇文章主要為大家詳細介紹了如何在PHP中使用in_array進行隱式轉換,文中示例代碼介紹的非常詳細,具有一定的參考價值,發現的小伙伴們可以參考一下:

php有什么用

php是一個嵌套的縮寫名稱,指的是英文超級文本預處理語言(php:Hypertext Preprocessor)的縮寫,它的語法混合了C、Java、Perl以及php自創新的語法,主要用來做網站開發,許多小型網站都用php開發,因為php是開源的,從而使得php經久不衰。

string參數是否為空,示例代碼如下:

  if(in_array(0, $param) || $param['img'] == '') {
        $this->errorCode = 10030;
        $this->errorMessage = '參數不正確';
        return false; 
      }

可是自測時發現,傳入正確的參數,都會返回參數不正確的提示!!!

原因

出現這種情況,正是因為in_array惹的禍,in_array(search,array)等價于將數組中的每個value與search比較,由于我$param數組中除了有int參數,還有一個string參數,相當于用string和int去比較,PHP的隱式轉換規則:

非數字字符串和整數比較,字符串自動轉換為int(0)

下面的例子就驗證了我們的說法:

<?php

  $a = (int)'abc';
  var_dump($a); //int(0)

  $c = array(0,1,2,3);
  if(in_array('abc', $c)) {
    echo 'exist';
  } else {
    echo 'not exist';
  } //exist

解決辦法

in_array增加第三個參數true,用來檢查搜索的數據與數組的值的類型是否相同,這樣函數只有在元素存在于數組中且數據類型與給定值相同時才返回 true

針對我上面出現的業務,完全可以嚴謹一些,將int型數據存一個數組,string存一個數組,兩個不同類型的數組分別進行數據校驗,這樣也不會出現上面的問題

以上就是億速云小編為大家收集整理的如何在PHP中使用in_array進行隱式轉換,如何覺得億速云網站的內容還不錯,歡迎將億速云網站推薦給身邊好友。

向AI問一下細節

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

AI

石楼县| 宁乡县| 贵州省| 沂源县| 乐清市| 侯马市| 临沧市| 闸北区| 神木县| 湖南省| 渝北区| 石楼县| 施甸县| 屯留县| 永新县| 阿勒泰市| 阜宁县| 左贡县| 休宁县| 宁都县| 五指山市| 象州县| 崇阳县| 神农架林区| 玛纳斯县| 交城县| 甘德县| 泸西县| 随州市| 阿拉善右旗| 桓台县| 垣曲县| 上思县| 虹口区| 宜宾县| 海宁市| 黔西| 即墨市| 陇川县| 涞源县| 夹江县|