Re: string functions
| From: | Moriyoshi Koizumi | Date: | Sun, 05 Jan 2003 22:57:23 +0000 |
| Subject: | Re: string functions | ||
| References: | 1 | Groups: | php.dev |
| Request: | Send a blank email to php-dev+get-93161@lists.php.net to get a copy of this message | ||
I mentioned a similar inconsistency of range() parameters in the past
and pointed out a possible BC breaking issue raised by your recent patch
on array.c in HEAD.
http://news.php.net/article.php?group=php.dev&article=91489
http://news.php.net/article.php?group=php.dev&article=92910
I meant no tricks by is_numeric_string() were needed and
the passed string values should always be regarded as a single character,
just as it was.
Moriyoshi
On Sun, Jan 05, 2003 at 01:40:31PM -0500, Ilia A. wrote:
> While converting the functions inside string.c to the new parameter parsing
> API and doing some general cleanup, I've come across an interesting
> 'feature'.
>
> Three string functions: stristr(), strstr() and strpos() have peculiar way of
> handling non string values passed as 'needle'. Instead of converting the
> needle to a string they instead convert it to an integer and search for a
> character equivalent to that integer.
> This behavior causes a problem such as strstr("abc123", 1) returning false
> rather then returning 123 as one may expect. Because this behavior is not
> documented, I believe we could safely change it back to the behavior listed
> in the manual and the one defined in the function's prototype.
> The con of this approach is that it may break scripts that really on the
> undocumented behavior, therefor I propose that this change would only go into
> the 4.4/5.0 branch at which point people will expect small behavioral
> changes.
>
> Ilia