STRCHR vs STRRCHR difference?

php, strchr, string, strrchr

Solution

`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.

Problem

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.

Original source