最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

用PHP中的 == 運(yùn)算符進(jìn)行字符串比較

 更新時(shí)間:2006年11月26日 00:00:00   作者:  
最近在Greg Beaver's的blog上發(fā)表的一篇新文章 comparing strings in PHP with the == operator 中提及了PHP的 == 運(yùn)算符在對(duì)字符串進(jìn)行比較時(shí)值得注意的問(wèn)題。

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

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

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

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

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

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

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

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

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

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

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

相關(guān)文章

  • php pdo oracle中文亂碼的快速解決方法

    php pdo oracle中文亂碼的快速解決方法

    下面小編就為大家?guī)?lái)一篇php pdo oracle中文亂碼的快速解決方法。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考,一起跟隨小編過(guò)來(lái)看看吧
    2016-05-05
  • 淺談如何提高PHP代碼的質(zhì)量

    淺談如何提高PHP代碼的質(zhì)量

    說(shuō)實(shí)話,在代碼質(zhì)量方面,PHP 的壓力非常大。通過(guò)閱讀本系列文章,您將了解如何提高 PHP 代碼的質(zhì)量。
    2021-05-05
  • PHP $_SERVER詳解

    PHP $_SERVER詳解

    php編程中經(jīng)常需要用到一些服務(wù)器的一些資料,我把常用的用高亮的方式貼出來(lái),其余的放在后面.方便以后查閱
    2009-01-01
  • php+js iframe實(shí)現(xiàn)上傳頭像界面無(wú)跳轉(zhuǎn)

    php+js iframe實(shí)現(xiàn)上傳頭像界面無(wú)跳轉(zhuǎn)

    這篇文章主要介紹了php+js實(shí)現(xiàn)的上傳頭像界面無(wú)跳轉(zhuǎn),示例中用到了iframe,需要的朋友可以參考下
    2014-04-04
  • 分享3個(gè)php獲取日歷的函數(shù)

    分享3個(gè)php獲取日歷的函數(shù)

    本文給大家匯總了3個(gè)php獲取日歷的函數(shù),分別是php獲取指定日期的月份的日歷、獲取指定日期所在月的開(kāi)始日期與結(jié)束日期、獲取當(dāng)前星期的日期范圍,都是比較常用的方法,有需要的小伙伴可以參考下。
    2015-09-09
  • PHP實(shí)現(xiàn)可自定義樣式的分頁(yè)類

    PHP實(shí)現(xiàn)可自定義樣式的分頁(yè)類

    這篇文章主要介紹了PHP實(shí)現(xiàn)可自定義樣式的分頁(yè)類,可以自定義分頁(yè)樣式,感興趣的小伙伴們可以參考一下
    2016-03-03
  • PHP計(jì)算字符串真正的寬度和高度像素(圖片加文字水印示例)

    PHP計(jì)算字符串真正的寬度和高度像素(圖片加文字水印示例)

    這篇文章通過(guò)給圖片加文字水印示例來(lái)解釋PHP計(jì)算字符串真正的寬度和高度像素的方法。計(jì)算字符串用strlen()只能得到字符串長(zhǎng)度,不是寬高像素,而根據(jù)字體的大小和所用字體計(jì)算出的才是字符串真正的寬高像素。
    2023-02-02
  • PHP微信支付結(jié)果通知與回調(diào)策略分析

    PHP微信支付結(jié)果通知與回調(diào)策略分析

    這篇文章主要介紹了PHP微信支付結(jié)果通知與回調(diào)策略,結(jié)合實(shí)例形式分析了php微信支付結(jié)果的回調(diào)處理相關(guān)操作技巧,需要的朋友可以參考下
    2019-01-01
  • php簡(jiǎn)單防盜鏈驗(yàn)證實(shí)現(xiàn)方法

    php簡(jiǎn)單防盜鏈驗(yàn)證實(shí)現(xiàn)方法

    這篇文章主要介紹了php簡(jiǎn)單防盜鏈驗(yàn)證實(shí)現(xiàn)方法,通過(guò)$_SERVER['HTTP_REFERER']獲取來(lái)路頁(yè)面URL再進(jìn)行判斷進(jìn)而實(shí)現(xiàn)對(duì)非本地URL的攔截功能,需要的朋友可以參考下
    2016-07-07
  • php中防止偽造跨站請(qǐng)求的小招式

    php中防止偽造跨站請(qǐng)求的小招式

    偽造跨站請(qǐng)求比較難以防范,而且危害巨大,攻擊者可以通過(guò)這種方式惡作劇,發(fā)spam信息,刪除數(shù)據(jù)等等。
    2011-09-09

最新評(píng)論

甘洛县| 定西市| 开封市| 永川市| 永川市| 泗水县| 太谷县| 剑川县| 庆云县| 泸定县| 富川| 珲春市| 乌拉特中旗| 永和县| 肥西县| 申扎县| 西畴县| 南召县| 达州市| 喀什市| 和静县| 峨边| 南开区| 治多县| 清镇市| 万源市| 台前县| 莲花县| 太原市| 祁连县| 钟山县| 黄梅县| 鹤壁市| 车险| 广元市| 连州市| 海南省| 咸丰县| 调兵山市| 山东省| 平度市|