2013-03-31 27 views
3

我想知道兩種不同用途之間的區別。 我相信一些非常微妙的差異。STRCHR vs STRRCHR的區別?

這是對IBM參考手冊的解釋。 但是,也許我的英語不好,我只是無法想象差異。

也許向我展示這兩種情況的例子會幫助我更好地理解這一點。

下面是來自IBM的解釋:

的和strchr子程序將一指針返回到由所述字符(轉換爲無符號字符)指定的字符的第一次出現在字符串中參數由字符串指向參數。如果字符未出現在字符串中,則返回空指針。終止字符串的空字節被認爲是字符串的一部分。

strrchr子例程返回一個指針,指向由字符串參數指向的字符串中的字符(轉換爲字符)參數指定的字符的最後出現位置。如果字符未出現在字符串中,則返回空指針。終止字符串的空字節被認爲是字符串的一部分。

+0

'和strchr( 「Bananna」, 'n')'''strrchr(「Bananna」,'n')'應該說明不同之處。 – jedwards

+1

爲什麼你閱讀這本IBM手冊而不是php.net手冊?您是否有指向您所指的IBM手冊的鏈接? –

回答

7

strchrstrstr別名:草堆串的

返回部分從開始並且包括針的第一 發生至乾草堆的末尾。

strrchr

該函數返回其開始於針的最後 發生並進入直到乾草堆的端部的乾草堆的部分。

strchr從第一次出現開始,strrchr開始於最後一次出現。

+0

這就是我一直在尋找...感謝您的一個很好的解釋 – hayonj

+0

我最終這樣做,它的工作:'code' $ trim = substr(strrchr($ _ SERVER ['PHP_SELF'],「/」) ,1); 'code' – hayonj

8

strchr找到的第一個發生和strrchr找到一個字符或字符串的最後一個匹配

$s = 'This is a test'; 
$first = strchr($s, 's'); 
$last = strrchr($s, 's'); 
  • $first包含s is a test
  • $last包含st
+0

完美的謝謝。 – hayonj

+0

完美。謝謝 –