亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

PHP中in_array的隱式轉(zhuǎn)換的解決方法

 更新時(shí)間:2018年03月06日 11:01:31   作者:Lee_DH  
本篇文章主要介紹了PHP中in_array的隱式轉(zhuǎn)換的解決方法,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧

問題

今天在寫一個(gè)接口的時(shí)候,需要傳入大量的基本信息參數(shù),參數(shù)分別是int和string兩種類型,為了校驗(yàn)方便,我打算把所有的參數(shù)都放在數(shù)組中,然后用in_array(0, $param)判斷 int 參數(shù)是否為0,再單獨(dú)判斷string參數(shù)是否為空,示例代碼如下:

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

可是自測(cè)時(shí)發(fā)現(xiàn),傳入正確的參數(shù),都會(huì)返回參數(shù)不正確的提示?。?!

原因

出現(xiàn)這種情況,正是因?yàn)閕n_array惹的禍,in_array(search,array)等價(jià)于將數(shù)組中的每個(gè)value與search比較,由于我$param數(shù)組中除了有int參數(shù),還有一個(gè)string參數(shù),相當(dāng)于用string和int去比較,PHP的隱式轉(zhuǎn)換規(guī)則:

非數(shù)字字符串和整數(shù)比較,字符串自動(dòng)轉(zhuǎn)換為int(0)

下面的例子就驗(yàn)證了我們的說法:

<?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增加第三個(gè)參數(shù)true,用來檢查搜索的數(shù)據(jù)與數(shù)組的值的類型是否相同,這樣函數(shù)只有在元素存在于數(shù)組中且數(shù)據(jù)類型與給定值相同時(shí)才返回 true

針對(duì)我上面出現(xiàn)的業(yè)務(wù),完全可以嚴(yán)謹(jǐn)一些,將int型數(shù)據(jù)存一個(gè)數(shù)組,string存一個(gè)數(shù)組,兩個(gè)不同類型的數(shù)組分別進(jìn)行數(shù)據(jù)校驗(yàn),這樣也不會(huì)出現(xiàn)上面的問題

以上就是本文的全部內(nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • PHP實(shí)現(xiàn)微信發(fā)紅包程序

    PHP實(shí)現(xiàn)微信發(fā)紅包程序

    微信發(fā)紅包是比較流行的一件事情,老老少少都會(huì)使用微信發(fā)紅包,接下來,小編給大家分享在生活中常碰到的一個(gè)php實(shí)現(xiàn)微信發(fā)紅包程序的算法,希望這個(gè)程序?qū)Υ蠹以谧鑫⑿趴òl(fā)的朋友有所幫助
    2015-08-08
  • php頁面,mysql數(shù)據(jù)庫轉(zhuǎn)utf-8亂碼,utf-8編碼問題總結(jié)

    php頁面,mysql數(shù)據(jù)庫轉(zhuǎn)utf-8亂碼,utf-8編碼問題總結(jié)

    一個(gè)網(wǎng)站如果需要國際化,就需要將編碼從GB2312轉(zhuǎn)成UTF-8,其中有很多的問題需要注意,如果沒有轉(zhuǎn)換徹底,將會(huì)有很多的編碼問題出現(xiàn)!接下來通過本篇文章給大家分享php頁面,mysql數(shù)據(jù)庫轉(zhuǎn)utf-8亂碼,utf-8編碼問題總結(jié),需要的朋友可以參考下
    2015-08-08
  • PHP中命名空間的使用例子

    PHP中命名空間的使用例子

    今天小編就為大家分享一篇關(guān)于PHP中命名空間的使用例子,小編覺得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來看看吧
    2019-03-03
  • php中的curl使用入門教程和常見用法實(shí)例

    php中的curl使用入門教程和常見用法實(shí)例

    起先cURL是做為一種命令行工具設(shè)計(jì)出來的,比較幸運(yùn)的是,php也支持cURL了。通過cURL這個(gè)利器,我們能在php程序中自由地發(fā)送HTTP請(qǐng)求到某個(gè)url來獲取或者提交數(shù)據(jù),并且支持其它多種協(xié)議,比如FTP,Telnet以及SMTP等。在這篇博文中,我將簡述下,在php中具體怎么使用cURL來處理一些事情。
    2014-04-04
  • Laravel異常上下文解決方案分享

    Laravel異常上下文解決方案分享

    異常處理是編程中十分重要但也最容易被人忽視的語言特性,下面這篇文章主要給大家介紹了關(guān)于Laravel異常上下文解決方案的相關(guān)資料,文中通過實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2022-01-01
  • yii2-GridView在開發(fā)中常用的功能及技巧總結(jié)

    yii2-GridView在開發(fā)中常用的功能及技巧總結(jié)

    本篇文章主要介紹了yii2-GridView在開發(fā)中常用的功能及技巧總結(jié),數(shù)據(jù)網(wǎng)格或者說 GridView 小部件是Yii中最強(qiáng)大的部件之一。有興趣的可以了解一下。
    2017-01-01
  • PHP加密解密類實(shí)例代碼

    PHP加密解密類實(shí)例代碼

    這篇文章主要介紹了PHP加密解密類實(shí)例代碼的相關(guān)資料,非常不錯(cuò),具有參考借鑒價(jià)值,需要的朋友可以參考下
    2016-07-07
  • phpstudy本地環(huán)境搭建超詳細(xì)圖文教程

    phpstudy本地環(huán)境搭建超詳細(xì)圖文教程

    這篇文章主要給大家介紹了關(guān)于phpstudy本地環(huán)境搭建超詳細(xì)圖文教程的相關(guān)資料,phpStudy是集安全、高效、功能于一體且完全免費(fèi)的一鍵服務(wù)器環(huán)境搭建軟件,文中通過圖文介紹的非常詳細(xì),需要的朋友可以參考下
    2023-07-07
  • php文件操作實(shí)例代碼

    php文件操作實(shí)例代碼

    php中的文件操作比asp要簡單很多,而且功能強(qiáng)大。學(xué)習(xí)php的朋友可以參考下
    2012-05-05
  • Yii2框架實(shí)現(xiàn)利用mpdf創(chuàng)建pdf文件功能示例

    Yii2框架實(shí)現(xiàn)利用mpdf創(chuàng)建pdf文件功能示例

    這篇文章主要介紹了Yii2框架實(shí)現(xiàn)利用mpdf創(chuàng)建pdf文件功能,結(jié)合實(shí)例形式分析了mpdf的下載、安裝及結(jié)合Yii2框架創(chuàng)建pdf文件的相關(guān)操作技巧,需要的朋友可以參考下
    2019-02-02

最新評(píng)論