一区二区久久-一区二区三区www-一区二区三区久久-一区二区三区久久精品-麻豆国产一区二区在线观看-麻豆国产视频

PHP STRING 陷阱原理說明

A string is series of characters.
String access and modification by character
Characters within strings may be accessed and modified by specifying the zero-based offset of the desired character after the string using square array brackets, as in $str[42]. Think of a string as an array of characters for this purpose.
Note: Strings may also be accessed using braces, as in $str{42}, for the same purpose. However, this syntax is deprecated as of php 5.3.0. Use square brackets instead, such as $str[42].
Warning
Writing to an out of range offset pads the string with spaces. Non-integer types are converted to integer. Illegal offset type emits E_NOTICE. Negative offset emits E_NOTICE in write but reads empty string. Only the first character of an assigned string is used. Assigning empty string assigns NUL byte.

以上都是 php manual 中的原話。
需要注意的時候,我們訪問數組的時候 都是使用方括號“[]”,string作為一個也可以使用操作符“[]”進行訪問。但是,需要注意的一點就是,訪問字符串時候,操作符“[]”中的內容會被轉化為int類型的。
eg: $str ='123456';
echo $str['php'];//結果是1,因為offset ‘php'轉化為integer為0,既是訪問的是字符串的第一個字符.
var_dump(isset($str['php']));//結果是bool(true) 原理同上。
所以,在我們使用isset判斷一個設置是否存在某個鍵時候,應該先判斷試下,傳遞過來的變量是否是數組,然后再判斷是否是存在指定的key
eg://如果需要判斷傳遞過來的數組是否存在'php'這個key時候,比較安全的做法為:
復制代碼 代碼如下:
function is_set($arr, $key){
if (is_array($arr) && isset($arr[$key])) {
//存在該值的邏輯
} else{
//$arr不是數組 或者 數組$arr不存在key $key的邏輯
}
}

如果 上面的函數 沒有添加 is_array 的判斷,當傳遞一個 字符串過來的時候, 結果就不是我們預想的那樣了。

僅此為記,以免以后也出現類似的問題。

php技術PHP STRING 陷阱原理說明,轉載需保留來源!

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

主站蜘蛛池模板: 国内自拍一二三四2021 | 久久国产大片 | 最新69国产成人精品视频69 | 伊人久久大 | 亚洲欧美国产另类 | 国产手机国产手机在线 | 国产91视频观看 | 春暖花开亚洲x8永久地址 | 欧美精品黄页在线观看视频 | 中文字幕一区中文亚洲 | 69国产成人精品视频软件 | 男女激情视频国产免费观看 | 精品午夜视频 | 婷婷网址 | 精品国产亚洲一区二区三区 | 精品一区二区三区五区六区七区 | 久久免费国产精品一区二区 | 天天干天天干天天天天天天爽 | 99国产国人青青视频在线观看 | 成人一区视频 | 久久国产乱子伦精品免费午夜 | 欧美xxxx色视频在线观看免费 | 酒色成人网 | 国产精品乱码一区二区三区 | 美女脱了内裤打开腿让人桶网站o | 国产网红在线观看 | 91高清国产 | 美女又美女又黄又免费网站 | 麻豆久久精品免费看国产 | 国产精品_国产精品_国产精品 | 韩国三日本三级中文字幕 | 四虎欧美永久在线精品免费 | 伊人精品在线视频 | 婷婷六月综合 | 亚洲黄色在线观看 | 日本一区二区三区在线 视频 | 美女视频网站黄色 | 亚洲夂夂婷婷色拍ww47 | 亚洲精品亚洲人成毛片不卡 | 国产色手机在线观看播放 | 久久综合久久综合久久 |