STRCHR vs STRRCHR difference? [closed]

2019-02-25 10:57发布

I would like to know the difference between the two different uses. I believe the difference in some what very subtle.

This is an explanation taken from the IBM reference manual. However maybe my english is bad, I just can't visualize the difference.

Maybe showing me an example of both cases would help me understand this better.

Here is the explanation from IBM :

The strchr subroutine returns a pointer to the first occurrence of the character specified by the Character (converted to an unsigned character) parameter in the string pointed to by the String parameter. A null pointer is returned if the character does not occur in the string. The null byte that terminates a string is considered to be part of the string.

The strrchr subroutine returns a pointer to the last occurrence of the character specified by the Character (converted to a character) parameter in the string pointed to by the String parameter. A null pointer is returned if the character does not occur in the string. The null byte that terminates a string is considered to be part of the string.

2条回答
手持菜刀,她持情操
2楼-- · 2019-02-25 11:24

strchr finds the first occurrence and strrchr finds the last occurrence of a character or string

$s = 'This is a test';
$first = strchr($s, 's');
$last = strrchr($s, 's');
  • $first contains s is a test
  • $last contains st
查看更多
冷血范
3楼-- · 2019-02-25 11:28

strchr is an alias of strstr:

Returns part of haystack string starting from and including the first occurrence of needle to the end of haystack.

strrchr:

This function returns the portion of haystack which starts at the last occurrence of needle and goes until the end of haystack.

strchr starts at the first occurrence, strrchr starts at the last occurrence.

查看更多
登录 后发表回答