【问题标题】:STRCHR vs STRRCHR difference? [closed]STRCHR 与 STRRCHR 的区别? [关闭]
【发布时间】:2013-03-21 11:19:24
【问题描述】:

我想知道这两种不同用途之间的区别。 我相信在一些非常微妙的差异。

这是来自 IBM 参考手册的解释。 但是也许我的英语不好,我无法想象其中的区别。

也许向我展示这两种情况的示例会帮助我更好地理解这一点。

这是来自 IBM 的解释:

strchr 子例程返回一个指针,该指针指向 String 参数所指向的字符串中 Character (转换为无符号字符) 参数指定的字符的第一次出现。如果字符串中没有出现该字符,则返回空指针。终止字符串的空字节被认为是字符串的一部分。

strrchr 子例程返回一个指针,该指针指向 String 参数所指向的字符串中 Character (转换为字符) 参数指定的字符的最后一次出现。如果字符串中没有出现该字符,则返回空指针。终止字符串的空字节被认为是字符串的一部分。

【问题讨论】:

  • strchr("Bananna", 'n')strrchr("Bananna", 'n') 应该说明差异。
  • 您为什么阅读 IBM 手册而不是 php.net 手册?您是否有指向您所指的 IBM 手册的链接?

标签: php string strchr strrchr


【解决方案1】:

strchrstrstr 的别名:

first 开始并返回 haystack 字符串的一部分 发生针到大海捞针。

strrchr

此函数返回 haystack 中从 last 开始的部分 针的发生,直到干草堆的尽头。

strchr 从第一次出现开始,strrchr 从最后一次出现开始。

【讨论】:

  • 这就是我要找的...感谢您的精彩解释
  • 我最终这样做了,它奏效了:code$trim = substr(strrchr($_SERVER['PHP_SELF'], "/"), 1); code
  • 对于 strrchr,仅使用 $needle 中的第一个字符。 strrchr("example_example_extra", "example") 将返回 "extra" 而不是 "example_extra"
【解决方案2】:

strchr 查找第一次出现,strrchr (r - reverse) 查找字符或字符串的最后一次出现

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-05-04
    • 2013-05-16
    • 2018-10-16
    • 2013-04-29
    • 1970-01-01
    • 2019-10-28
    • 2013-01-22
    相关资源
    最近更新 更多