On Wed Mar 30 09:05 AM, Hannes Landeholm wrote:
> 
> var_dump(\substr("foo", 5, 6) == "", (string) false, false == "");
> 
> Welcome to PHP. To be honest this criticism pretty much falls in the 
> "from person that comes from another language X and is annoyed that 
> every little detail isn't exactly the same"-category. Just make your 
> own substr() function that uses the behavior you expect if you don't 
> like the native version. Although that's bad practice - the best 
> solution is to get used to it. And if you have an urge to write about 
> your experience with a new language I suggest you do it in a blog 
> instead of posting it in the internals mailing list...

I agree with what you're saying but I think you're being a little harsh,
experience with a new language should be something that matters to
internals.

Back to Dan, you're hitting type conversion so not sure I understand "you
always have to deal with this FALSE case":

var_dump(substr('', -1) == '0'); // TRUE
var_dump(substr('', -1) === '0'); // FALSE

Equally to Dan, it doesn't seem like a great way to start the conversation
by saying the "interface is inconsistent and confusing".
There's a perception issue here since you're already used to using language
X,Y,Z.

That said the patch seems to add value to php, why not add str_slice() if it
can solve consistency issues for some users? str_slice likely could be a
faster alternative to substr() in userland parsers. 

Also I've seen plenty of bugs caused by type conversion & substr() in
userland



-- 
PHP Internals - PHP Runtime Development Mailing List
To unsubscribe, visit: http://www.php.net/unsub.php

Reply via email to