php的strpos不支持数字,php使用strpos判断字符串中数字类型子字符串出错的解决方法 原创...
php使用strpos判斷字符串中數字類型子字符串出錯的解決方法 原創
這里有新鮮出爐的 PHP 面向對象編程,程序狗速度看過來!
PHP 開源腳本語言
PHP(外文名: Hypertext Preprocessor,中文名:"超文本預處理器")是一種通用開源腳本語言。語法吸收了 C 語言、Java 和 Perl 的特點,入門門檻較低,易于學習,使用廣泛,主要適用于 web 開發領域。PHP 的文件后綴名為 php。
這篇文章主要介紹了 php 使用 strpos 判斷字符串中數字類型子字符串出錯的解決方法, 結合具體問題分析了 strpos 函數針對數字類型子字符串進行判斷時的注意事項及類型轉換處理技巧, 需要的朋友可以參考下
本文實例講述了 php 使用 strpos 判斷字符串中數字類型子字符串出錯的解決方法。分享給大家供大家參考,具體如下:
一、問題:
最近的開發中在程序代碼里有一個隨機數是否在給定字符串里的判斷,我用了如下的測試代碼:
$string='中獎號碼:3';
$numtmp=mt_rand(1,10);
if(strpos($string,$numtmp)!==false){
echo"恭喜中獎!中獎號碼:".$numtmp;
}else{
echo"謝謝!歡迎再來,中獎號碼不是".$numtmp;
}
運行時出現問題了!當隨機數到 3 的時候,應該是判斷成功,并輸出 "恭喜中獎!中獎號碼:3",但是程序確是按照 false 處理。
二、解決方法:
查看 strpos 函數的用法發現該函數對參數類型有嚴格的要求!因此需要進行強制類型轉換處理!
修改代碼如下即可:
$string='中獎號碼:3';
$numtmp=(string)mt_rand(1,10);//此處強制類型轉換,將數字類型轉為字符串類型!
if(strpos($string,$numtmp)!==false){
echo"恭喜中獎!中獎號碼:".$numtmp;
}else{
echo"謝謝!歡迎再來,中獎號碼不是".$numtmp;
}
運行代碼,問題解決。
PS:這里再為大家提供一個相關的 php 函數表供大家查詢參考:
希望本文所述對大家 PHP 程序設計有所幫助。
來源: http://www.phperz.com/article/17/0809/340265.html
總結
以上是生活随笔為你收集整理的php的strpos不支持数字,php使用strpos判断字符串中数字类型子字符串出错的解决方法 原创...的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 非合作博弈篇——混合策略博弈(mixed
- 下一篇: 20个Flutter实例视频教程-第03