通過strpos函式,教會小白們看懂PHP手冊!

2021-07-31 09:01:52 字數 2576 閱讀 1467

手冊查內建函式strpos,得到的格式是:mixed strpos ( string $haystack , mixed $needle [, int $offset = 0 ] ),知道其中各個部分的意義嗎?如果不知道,那你就有必要看這篇文章對手冊使用的介紹!

為了讓大家更好的理解,老規矩,舉例子!

有這麼乙個字串

$info = 'dengpeng and arvintang at home.';

現在讓咱們使用

strpos 函式,

查詢看看

dengpeng

是否在家

.

$info = 'dengpeng and arvintang at home.';

$status = strpos($info, 'dengpeng');

if ($status) else

看完上述**

,大家說說

,輸出結果是什麼啊

?是不是

dengpeng

在家啊,如果你的答案是肯定了

,那麼我告訴你

,你已經完美入坑了

.正確答案是

: dengpeng

不在家什麼鬼

?不是

dengpeng and arvintang at home.

嗎? strpos

查詢到後返回數值

,找不到返回

false嗎?

這裡問題就出在

,它找到

dengpeng 後,

返回了它的起始位置

,起始位置是從

0開始的,不是

1哦.恰巧

dengpeng

這個字串又在第乙個位置

.是不是錯的很坑呢

?知道原因,我們就好調整了,只要這麼處理下即可:

$info = 'dengpeng and arvintang at home.';

$status = strpos($info, 'dengpeng');

if ($status !== false) else

這下輸出就解決了!

好了,現在大家理解了

strpos

函式了,帶著這個理解,我們再去仔細看一看官方手冊

,看看官方手冊對這個函式是怎麼說的

手冊格式:

mixed strpos ( string $haystack , mixed $needle [, int $offset = 0 ] )

string,就是字串的意思!

int,就是陣列的意思!

這個mixed

是什麼意思呢?

mixed英文翻譯為混合,代表著這個資料型別不是某一種,可能是兩種或兩種以上!

不用矇圈,大家還記得

strpos

的返回值可能是什麼嗎?有的話就是數值,沒有的話就是

false

,所以strpos

前面就放了

mixed!所以

mixed $needle

大家能理解了吧,

$neddle

可能是字串,也可能是另外一種資料型別,比如是數值!

所以手冊中格式的意思就是:

返回 needle

在 haystack

中首次出現的數字位置

(needle

是針,haystack

是稻草堆

,去找稻草堆裡找針

,這樣記憶是不是很方便

),注意字串位置是從

0開始,而不是從

1開始的

.如果沒找到

needle

,將返回

false.

看到這裡

,有的小夥伴就要發問了

,3個引數

,我們只講了2個

,那個

$offset

引數是幹什麼用的呢

?想知道它是幹什麼用的

,必然跳不過去認識

offset

這個詞,

英文詞典給出的是 抵消

,補償

,聽著有點恍惚了

.其實它的意思就是 隔過去n個

,就像你打麻將一樣

,你不出牌

,很可能就會被下家給隔了

.而且

$offset

型別是

int ,

你這裡輸入的是幾

,它就幫你隔過去幾個字元

,然後再開始查詢

.下面我們借助示例

,來學習使用

$offset

引數

$daocaodui = 'abcdef abcdef';

$zhen = 'a';

$address = strpos($daocaodui, $zhen, 1);

echo $address;

小夥伴們說說輸出的結果是多少呢?7

很好,我想能夠正確地回答

7的時候

,你對這個手冊的應用應該很到位了!

PHP strlen 函式和strpos 函式

strlen 函式返回字串的長度 字元數 echo strlen hello world 上面的 將輸出 12 strpos 函式用於在字串內查詢乙個字元或一段指定的文字。如果在字串中找到匹配,該函式會返回第乙個匹配的字元位置。如果未找到匹配,則返回 false。下面的例項在字串 hello wor...

PHP中的strpos 函式

strpos 函式是用來查詢字串首次出現的位置,返回型別為int,但是如是找不到該字元,返回布林型的false值。1.判斷乙個字串是否包含另乙個字串,示例 如下 header content type text html charset utf 8 a how old are you?find ar...

php 使用函式中遇到的坑之 strpos

strpos 查詢字串首次出現的位置 mixed strpos string haystack,mixed needle int offset 0 mystring abc findme a pos strpos mystring,findme 注意這裡使用的是 簡單的 不能像我們期待的那樣工作,因...