在某些情況下,PHP會把類數(shù)值數(shù)據(jù)(如含有數(shù)字的字符 " /> 欧美一级在线观看,黄色在线免费观看视频,日韩精品一区二区三区在线观看

中文字幕日韩一区二区_国产一区二区av_国产毛片av_久久久久国产一区_色婷婷电影_国产一区二区精品

用PHP中的 == 運算符進行字符串比較

最近在Greg Beaver's的blog上發(fā)表的一篇新文章 comparing strings in php with the == operator 中提及了php的 == 運算符在對字符串進行比較時值得注意的問題。

  在某些情況下,php會把類數(shù)值數(shù)據(jù)(如含有數(shù)字的字符串等)轉(zhuǎn)換成數(shù)值處理,== 運算符就是其中之一。在使用 == 運算符對兩個字符串進行松散比較時,php會把類數(shù)值的字符串轉(zhuǎn)換為數(shù)值進行比較,下面的實驗證實了這個結(jié)論:

<?php
var_dump
('01' == 1);
?>

以上代碼輸出結(jié)果為:
bool(true)

  所以,在使用對字符串進行比較時,建議使用 === 運算符對字符串進行嚴格的檢查,或使用strcmp()等函數(shù),從而避免可能產(chǎn)生的問題。php手冊中的《php 類型比較表》對此也有詳細說明。

  除此之外,常用的in_array()函數(shù)也存在弱類型的問題,見如下代碼:

<?php
var_dump
(in_array('01', array('1')));
?>

以上代碼輸出結(jié)果為:
bool(true)

  相信用過該函數(shù)進行安全性檢查的php編程人員都知道這會產(chǎn)生怎么樣的安全問題了吧?幸好in_array()函數(shù)為我們提供了第三個參數(shù),把它設為 true 就可以打開in_array()函數(shù)的強制類型檢查機制,如下代碼所示:

<?php
var_dump
(in_array('01', array('1'), true));
?>

輸出結(jié)果為:
bool(false)

  由于php是一種弱類型的語言,也就是說數(shù)據(jù)類型這個概念在php中被弱化。因而如果在編程時過分忽略數(shù)據(jù)類型(也是大部份php程序員的通病),會產(chǎn)生一些問題,甚至導致安全漏洞。最后,還是那句說得很煩很煩的話,對外來數(shù)據(jù)進行嚴格檢查和過濾。

php技術(shù)用PHP中的 == 運算符進行字符串比較,轉(zhuǎn)載需保留來源!

鄭重聲明:本文版權(quán)歸原作者所有,轉(zhuǎn)載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯(lián)系我們修改或刪除,多謝。

主站蜘蛛池模板: 国产欧美精品一区 | 在线欧美亚洲 | 精品日韩一区 | 欧美日韩福利 | 亚洲福利精品 | 国产高清视频一区二区 | 日韩欧美在线视频 | 久久精品久久久久久 | 国产一级精品毛片 | 国产婷婷| 精品久久久久久久久久 | 欧美精产国品一二三区 | 久久国产精品一区二区三区 | 亚洲精品资源 | 欧美日韩中文在线观看 | 在线成人www免费观看视频 | 国产精品九九九 | 亚洲永久 | 在线观看av网站 | 精品视频网 | 久久剧场 | 国产精品美女久久久av超清 | 高清黄色毛片 | 精精精精xxxx免费视频 | 亚洲欧美在线一区 | 久久青 | 久久黄色 | 国产免费一二三区 | 中文在线а√在线8 | 日本 欧美 国产 | aaaaaaa片毛片免费观看 | 日韩一区二区三区在线观看视频 | 日韩久久综合网 | 色综合久久天天综合网 | 国产精品美女www爽爽爽视频 | 天堂资源视频 | 亚洲精品中文字幕 | 酒色成人网 | 91av在线免费看 | 国产精品一卡二卡三卡 | 欧美激情五月 |