91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

論strpos 的正確使用方式

發布時間:2020-08-10 22:35:43 來源:網絡 閱讀:442 作者:帥白123 欄目:開發技術

首先簡單介紹下strpos函數;

strpos函數是查找某個字符在字符串中的位置;這里需要明確這個函數的作用;

這個函數得到的是位置;如果存在;返回數字;否則返回的是false;

而很多時候我們拿這個函數用來判斷字符串中是否存在某個字符;

一些同學使用的姿勢是這樣的;

// 判斷‘白俊遙博客’中是否存在‘博客’這個詞
if (strpos('白俊遙博客', '博客')) {
    // 如果存在執行此處代碼
    echo '存在';
}else{
    // 如果不存在執行此處代碼
    echo '不存在';
}

這段代碼輸出的是'存在';沒什么問題;但是再看下面這段代碼;

// 判斷‘白俊遙博客’中是否存在‘白’這個字
if (strpos('白俊遙博客', '白')) {
    // 如果存在執行此處代碼
    echo '存在';
}else{
    // 如果不存在執行此處代碼
    echo '不存在';
}

輸出了'不存在';原因是因為 '白' 在 '白俊遙博客' 中的第0個位置;而0在if中表示了false;

所以;如果用strpos來判斷字符串中是否存在某個字符時必須使用===false 、必須使用===false必須使用===false

重要的事情說三遍;正確的使用方式如下;

// 判斷‘白俊遙博客’中是否存在‘博客’這個詞
if (strpos('白俊遙博客', '博客')===false) {
    // 如果不存在執行此處代碼
    echo '不存在';
}else{
    // 如果存在執行此處代碼
    echo '存在';
}

你以為用上了===你就得到了strpos的整個世界?no;no;no;

這家伙還有個隱藏坑;我來換個詞;

// 判斷‘白俊遙博客1’中是否存在‘1’這個數字
if (strpos('白俊遙博客1', 1)===false) {
    // 如果不存在執行此處代碼
    echo '不存在';
}else{
    // 如果存在執行此處代碼
    echo '存在';
}

如果你腦算出來的上面這段代碼輸出的是‘存在’;

那你這完全沒跟上我的套路啊;不是技能的問題了;

是時候為智商討個說法了;

事實上輸出的是'不存在';細心的童鞋會發現這個1 是不帶引號的;

strpos的第二個參數必須是字符串型的;

因此;如果你是在循環或者其他情況下調用的strpos函數;而且不確定第二個參數的類型;

那么保險的方式是用strval把它轉字符串類型了:

// 判斷‘白俊遙博客1’中是否存在‘1’這個數字
$haystack='白俊遙博客1';
$needle=1;
if (strpos($haystack, strval($needle))===false) {
    // 如果不存在執行此處代碼
    echo '不存在';
}else{
    // 如果存在執行此處代碼
    echo '存在';
}

論strpos 的正確使用方式



向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

龙岩市| 文山县| 蒙阴县| 阳曲县| 榆树市| 临漳县| 囊谦县| 周宁县| 韩城市| 许昌市| 五指山市| 江口县| 武强县| 安丘市| 牟定县| 安新县| 广德县| 台江县| 千阳县| 凯里市| 澄城县| 武定县| 会东县| 雅江县| 玉溪市| 汝州市| 凤台县| 西贡区| 简阳市| 武汉市| 辛集市| 哈密市| 松滋市| 大连市| 晋宁县| 锡林浩特市| 平凉市| 东乡县| 炉霍县| 武清区| 调兵山市|