国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 語言 > PHP > 正文

PHP中in_array函數(shù)使用的問題與解決辦法

2024-05-04 23:49:43
字體:
來源:轉載
供稿:網友

先介紹一下需求背景:

發(fā)票方式:

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

1=對中寄送

2=索取

3=電子發(fā)票

現(xiàn)在要對用戶提交的數(shù)據(jù)進行檢測:

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

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

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

看一下這組代碼:

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

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

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

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

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

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

總結

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


注:相關教程知識閱讀請移步到PHP教程頻道。
發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表

圖片精選

主站蜘蛛池模板: 如东县| 疏勒县| 兴安县| 龙川县| 阳泉市| 台安县| 台山市| 牡丹江市| 建德市| 新化县| 财经| 宜兴市| 浦江县| 镇赉县| 灵寿县| 上高县| 保定市| 革吉县| 浏阳市| 淮阳县| 定陶县| 定州市| 奈曼旗| 谢通门县| 泰顺县| 南充市| 葵青区| 辽阳市| 新昌县| 大同市| 布尔津县| 任丘市| 慈利县| 望奎县| 克山县| 扎囊县| 稷山县| 广东省| 济宁市| 华坪县| 易门县|