1. 程式人生 > >php三個最基本的字串查詢函式

php三個最基本的字串查詢函式

/**
* 三個最基本的字串子串查詢函式
* 1.substr(): 根據位置查詢,輸入位置,返回字串
* 2.strstr(): 根據值查詢,返回字串
* 3.strpos(): 根據值查詢,返回位置
*/

 

/**
* 一、substr($str,$offset, $length)
* 1.功能: 獲取指定位置或區間內的字串
* 2.引數: $str(必),$offset(必),$length(選)
* 3.返回: 不指定長度,則返回指定位置之後所有字串,指定區間則返回指定長度的字串
* 4.場景: 適合只知道取串的位置,主要用於精確查詢
*/

$str = 'php is tht best progranmming language';
//索引11是'best'字串開始處,返回'b'之後全部內容
echo substr($str, 11), '<br>';
//設定區間查詢
//索引11開始的5個字元: 'best'
echo substr($str, 11,5), '<br>';
//負數,從結尾開始取
echo substr($str,-8).'<br>';
echo substr($str,-8,4).'<br>';
echo '<hr>';

 

/**
* 二、strstr($str1, $str2,bool)
* 1.功能: 查詢字串的首次出現
* 2.引數: $str1(必),$str2(必)要查詢的子串,bool:true,返回前面部分,false返回後面(預設)
* 3.返回: 返回查到的字串後面或前臺部分字元,沒找到返回false
* 4.場景: 適合只知道查詢內容,不知道準確位置的情況下,進行模糊查詢
* 5.提示: 如果僅僅是判斷查詢的內容是否在字串,應該用更快的strpos()函式
* 6.類似: stristr()不區分查詢子中的大小寫
*/

$email = '[email protected]
'; //查詢'@'是否存在並返回@以及後面的內容(包括@): @php.cn echo strstr($email,'@').'<br>'; //查詢'@'是否存在並返回@前面的內容(不包括@): admin echo strstr($email,'@',true).'<br>'; echo strstr($email,'@',true).strstr($email,'@').'<br>';

 

/**
* 三、strpos($str1,$str2,$start)
* 1.功能: 查詢字串首次出現的位置
* 2.引數: $str1(必),$str2(必)要找的字串,$start(選)查詢起始索引,預設從0開始
* 3.返回: 目標字串的起始索引
**4.場景: 快速判斷某個字串是否存在
* 5.類似: stripos()查詢時不區分大小寫
*/

//如果只是想知道是否存在某個字串,使用subpos()直接返回子串偏移量效率更高
echo strpos($email,'php').'<br>';
if(strpos($email,'.cn'))
{
    echo '存在';
}else{
    echo '找不到';
}