Hi Nuno,
On Sun, 2007-09-16 at 20:02 +0100, Nuno Lopes wrote:
> > >My proposal is the following:
> > >some functions when fed with constant arguments always return a constant
> > >value, too. e.g.:
> > >strlen('abcd') === 4.
> >
> > I like the general idea.
> >
> > Would there be some caveats with stuff like this if it is possible to
> > change the charset at runtime?
> >
> > I guess it is important to be aware of whether a function is affected
> > by different settings (and if these settings can be changed at
> > runtime) to conclude if a function really is deterministic at this
> > level.
>
> uhm, damn, right. strlen() wasn't a good example.. my bad, sorry :S
> Anyway, you got the idea :)
Nothing wrong with strlen as far as I can tell:
- In PHP 5 we only have binary strings so strlen() works independent
from any charsets and encodings by just counting bytes.
- In PHP 6 we know - assuming the parameter is a constant string - the
encoding at compile time, therefore it could be used.
The only edge-case I see is if somebody uses mbstring.func_overload and
overwrites strlen()
johannes
--
PHP Internals - PHP Runtime Development Mailing List
To unsubscribe, visit: http://www.php.net/unsub.php