先看下我們的代碼,如圖,定義了一個字符串,然后調(diào)用php的strpos方法。
成都創(chuàng)新互聯(lián)堅持“要么做到,要么別承諾”的工作理念,服務(wù)領(lǐng)域包括:網(wǎng)站設(shè)計、做網(wǎng)站、企業(yè)官網(wǎng)、英文網(wǎng)站、手機(jī)端網(wǎng)站、網(wǎng)站推廣等服務(wù),滿足客戶于互聯(lián)網(wǎng)時代的丹寨網(wǎng)站設(shè)計、移動媒體設(shè)計的需求,幫助企業(yè)找到有效的互聯(lián)網(wǎng)解決方案。努力成為您成熟可靠的網(wǎng)絡(luò)建設(shè)合作伙伴!
result1 = strpos(str, 'sougou'); // 查找字符sougou在字符串出現(xiàn)的位置。
result2 = strpos(str, 'sohu'); // 查找字符sohu在字符串出現(xiàn)的位置。
如果查找的字符不在字符串里,即字符串不包含查找的字符,strpos方法就會返回 false.
02
然后是一些輸出代碼,輸出顯示我們的結(jié)果
03
運(yùn)行代碼,看下我們的結(jié)果,如圖,字符串里有包含sougou和sohu啊,為什么結(jié)果都顯示不包含的?
04
原來字符串的開始位置是從0開始的,而不是從1開始。0也相當(dāng)于是false了,我們修改下代碼,判斷代碼里,加多一個等號(=),即是真正的false才是沒找到字符串。
05
再次運(yùn)行代碼,結(jié)果如圖,sougou字符是有查找到了,sohu還是沒有。
06
原來strpos方法是區(qū)分大小寫的,字符串里的sohu是大寫的S,所以結(jié)果是沒有找到這個sohu的字符串。怎么修改?我們可以用另一個方法stripos,這個方法是不區(qū)分大小的。
php如何判斷一個字符串是否包含另一個字符串
我覺得最簡單的就是:
strpos($a, $b) !== false 如果$a 中存在 $b,則為 true ,否則為 false。
用 !== false (或者 === false) 的原因是如果 $b 正好位于$a的開始部分,那么該函數(shù)會返回int(0),那么0是false,但$b確實(shí)位于$a中,所以要用 !== 判斷一下類型,要確保是嚴(yán)格的 false。
其它的還有 PHP 原生支持的函數(shù),如 strstr(),stristr() 等,直接判斷就可以了。
?php
$a="123456789.exe";
if(strstr($a,"exe"))
{
echo "exe\n";
}
elseif(strstr($a,"123"))
{
echo "一二三\n";
}
else
{
echo "全無";
}
?
PHP(外文名:PHP: Hypertext Preprocessor,中文名:“超文本預(yù)處理器”)是一種通用開源腳本語言。語法吸收了C語言、Java和Perl的特點(diǎn),利于學(xué)習(xí),使用廣泛,主要適用于Web開發(fā)領(lǐng)域。PHP 獨(dú)特的語法混合了C、Java、Perl以及PHP自創(chuàng)的語法。它可以比CGI或者Perl更快速地執(zhí)行動態(tài)網(wǎng)頁。用PHP做出的動態(tài)頁面與其他的編程語言相比,PHP是將程序嵌入到HTML(標(biāo)準(zhǔn)通用標(biāo)記語言下的一個應(yīng)用)文檔中去執(zhí)行,執(zhí)行效率比完全生成HTML標(biāo)記的CGI要高許多;PHP還可以執(zhí)行編譯后代碼,編譯可以達(dá)到加密和優(yōu)化代碼運(yùn)行,使代碼運(yùn)行更快。
1. PHP 獨(dú)特的語法混合了 C、Java、Perl 以及 PHP 自創(chuàng)新的語法。
2. PHP可以比CGI或者Perl更快速的執(zhí)行動態(tài)網(wǎng)頁——動態(tài)頁面方面,與其他的編程語言相比,
PHP是將程序嵌入到HTML文檔中去執(zhí)行,執(zhí)行效率比完全生成htmL標(biāo)記的CGI要高許多;
PHP具有非常強(qiáng)大的功能,所有的CGI的功能PHP都能實(shí)現(xiàn)。
3. PHP支持幾乎所有流行的數(shù)據(jù)庫以及操作系統(tǒng)。
4. 最重要的是PHP可以用C、C++進(jìn)行程序的擴(kuò)展!
strpos — 查找字符串首次出現(xiàn)的位置
$mystring = 'abc';
$findme = 'a';
$pos = strpos($mystring, $findme);
// 注意這里使用的是 ===。簡單的 == 不能像我們期待的那樣工作,
// 因?yàn)?'a' 是第 0 位置上的(第一個)字符。
if ($pos === false) {
echo "The string '$findme' was not found in the string '$mystring'";
} else {
echo "The string '$findme' was found in the string '$mystring'";
echo " and exists at position $pos";
}