激情久久久_欧美视频区_成人av免费_不卡视频一二三区_欧美精品在欧美一区二区少妇_欧美一区二区三区的

服務器之家:專注于服務器技術及軟件下載分享
分類導航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術|正則表達式|C/C++|IOS|C#|Swift|Android|VB|R語言|JavaScript|易語言|vb.net|

服務器之家 - 編程語言 - PHP教程 - PHP中in_array函數使用的問題與解決辦法

PHP中in_array函數使用的問題與解決辦法

2021-02-27 17:11PHP教程網 PHP教程

相信大家都知道in_array函數是判斷數據中是否存在指定的內容了,對于這個函數用法非常的簡單,但在使用過程中會我發現有一些問題,下面我們就對于這些問題來看看如何處理吧.有需要的朋友們可以參考借鑒。

先介紹一下需求背景:

發票方式:

0=捐贈(不要問我為什么,歷史原因)

1=對中寄送

2=索取

3=電子發票

現在要對用戶提交的數據進行檢測:

?
1
2
3
php;auto-links:false;">if(!in_array($_POST['invoice_action'], array(0,1,2,3))){
  throw new Exception('請選擇正確的發票方式');
}

這個時候出現一個問題,如果壓根就不存在$_POST[‘invoice_action']這個值,為什么沒有拋出異常?

經確認,這就是PHP作為弱類型語言的一個坑,沒錯,這是一個坑.

看一下這組代碼:

?
1
2
3
echo in_array('', array(0)) ? 1 : 0;   // 結果:1
echo in_array(null, array(0)) ? 1 : 0;  // 結果:1
echo in_array(false, array(0)) ? 1 : 0; // 結果:1

這么大一個坑,我們要怎么繞過或者填起呢?

方法一:in_array支持第三個參數,強制對數據類型檢測

?
1
2
3
echo in_array('', array(0), true) ? 1 : 0;   // 結果:0
echo in_array(null, array(0), true) ? 1 : 0;  // 結果:0
echo in_array(false, array(0), true) ? 1 : 0; // 結果:0

方法二:依然是數據類型方向,把數組中的0改為字符串

?
1
2
3
echo in_array('', array('0'), true) ? 1 : 0;   // 結果:0
echo in_array(null, array('0'), true) ? 1 : 0;  // 結果:0
echo in_array(false, array('0'), true) ? 1 : 0; // 結果:0

總結

以上就是關于PHP中in_array函數使用時遇到的問題與解決辦法,希望這篇文章對同樣遇到這個問題的朋友能有所幫助,如果大家有疑問可以留言交流。

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 视频一区二区国产 | 中文字幕一区在线观看视频 | 日韩大片在线永久观看视频网站免费 | 欧美三级欧美成人高清www | 九九热精彩视频 | 精品久久久一 | 国产在线播放91 | 国产自在线 | 国产69精品久久久久久 | 亚洲精品永久视频 | 黄色网页在线观看 | 亚洲第一色片 | 8x成人在线电影 | 免费一级毛片在线播放视频 | 特一级毛片 | www噜噜偷拍在线视频 | 今井夏帆av一区二区 | 久久久久女人精品毛片九一 | 天天干天天碰 | 国产亚洲高清视频 | 一级毛片大片 | 久久一本日日摸夜夜添 | 狠狠干狠狠操 | 成人免费毛片在线观看 | 综合精品一区 | 美女黄色毛片免费看 | 亚洲欧美一区二区三区在线观看 | 欧美视频在线一区二区三区 | 欧美18一12sex性处hd | 越南一级黄色片 | 欧美成人激情在线 | 欧美一级特级 | 免费视频a | 成年免费视频黄网站在线观看 | 成人精品一区二区三区中文字幕 | 202z中文字幕第一页 | 国产女厕一区二区三区在线视 | 免费的毛片 | 欧美一级高清片在线 | 亚洲第一成人av | 91aa.app|