I would push this out in two steps. First: Negative string offset and later range/slice support for objects and strings. Objects would need a new magic method, e.g. "__slice()",strings need a substr() like interface. I think both are accessed the same way, but way are different. The slice support is furthermore much more comprehensive and needs more testing and so on.
BTW: I can dimly remember that {} vs [] was already concluded in favor of [] for string access. Robert 2011/6/20 Jordi Boggiano <j.boggi...@seld.be> > On 20.06.2011 14:02, Robert Eisele wrote: > > Negative string offsets is a wish and also an implementation of my > running > > PHP version for long. It operates in the same fashion like substr() with > > negative offsets, but avoids the function call and is much smarter if one > > single character has to be extracted: > > > > $str = "Hallo"; > > > > $str[0] == "H" > > $str[-1] == "o"; > > > > If -6 is used as offset, the old warning is displayed because it's the > first > > undefined negative offset. > > > > The same thing for setting: > > > > $str[-1] = '0'; > > $str[-4] = "4"; > > > > will result in "H4ll0" > > > > Would be glad to see this in 5.4 > > While this in itself is a good thing, I'd prefer to wait some more and > get a well thought-through, full fledged solution supporting ranges i.e. > $str[-1:2] or $str[-1,2]. > > I believe there were talks of such syntax a few years ago, maybe using > {} instead of []. I mean, right now both [] and {} seem to work equally > on strings and arrays, but changing {} to make it behave more like > substr/array_slice might be a viable BC break (for the negative numbers > that might exist in arrays that is). > > Cheers > > -- > Jordi Boggiano > @seldaek - http://nelm.io/jordi > > -- > PHP Internals - PHP Runtime Development Mailing List > To unsubscribe, visit: http://www.php.net/unsub.php > >