In every project I have worked on in the last few years, I've implemented this. If I have an array that I can't be sure is well formed and need to get a value at any depth without triggering expensive notices, the recommended way today is to check if each value is set and is an array: http://3v4l.org/23c9i
With this functionality, I can simply do: array_get('key1.key2', 'default') On Tue, Oct 7, 2014 at 11:18 AM, Mike Willbanks <pen...@gmail.com> wrote: > On Tue, Oct 7, 2014 at 12:15 PM, Johannes Schlüter <johan...@schlueters.de> > wrote: > >> On Tue, 2014-10-07 at 17:05 +0100, Mathias Grimm wrote: >> > Hi, >> > I would like to suggest something for php like a class I am using >> > >> > https://github.com/mathiasgrimm/arraypath >> > >> > The reason is to access arrays like this: >> > >> > $idx3 = ArrayPath::get('idx1/idx2/idx3', $_POST, 'myDefaultValue'); >> >> what hppens if my array has a / as part of the key? Do I have to check >> that beforehand and set a custom identifier? So what happens if I use >> your example with $_GET instead of $_POST and a user requests >> foo.php?idx1=idx2/idx3 >> >> I'm not really convinced. >> > > > This request seems to be more in the realm of having XPath type support for > arrays, likewise people have also attempted to do this with JSON. It does > seem like it could be valuable to some degree, however, I don't necessarily > believe it belongs in the core. This seems much better for a PECL module > if necessary. > > If the key has a / it would seem like you should escape it like a regular > string escape, aka "\/". I'm not convinced this is something that is > necessary in PHP either. There does not seem to be a great use case for > this use. > > > >> >> johannes >> >> >> -- >> PHP Internals - PHP Runtime Development Mailing List >> To unsubscribe, visit: http://www.php.net/unsub.php >> >> -- PHP Internals - PHP Runtime Development Mailing List To unsubscribe, visit: http://www.php.net/unsub.php