PHPackages                             gnugat/traversal - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Utility &amp; Helpers](/categories/utility)
4. /
5. gnugat/traversal

AbandonedLibrary[Utility &amp; Helpers](/categories/utility)

gnugat/traversal
================

Service for for hash map (assoc array) traversal (fork of igorw/get-in).

v2.0.0(11y ago)0736MITPHPPHP &gt;=5.3

Since Nov 16Pushed 11y ago1 watchersCompare

[ Source](https://github.com/gnugat/traversal)[ Packagist](https://packagist.org/packages/gnugat/traversal)[ RSS](/packages/gnugat-traversal/feed)WikiDiscussions master Synced 1mo ago

READMEChangelog (3)Dependencies (1)Versions (4)Used By (0)

Traversal
=========

[](#traversal)

A service for hash map (assoc array) traversal.

When dealing with nested associative structures, traversing them can become quite a pain. Mostly because of the amount of `isset` checking that is necessary.

For example, to access a nested key `['foo']['bar']['baz']`, you must do something like this:

```
$baz = (isset($data['foo']['bar']['baz'])) ? $data['foo']['bar']['baz'] : null;
```

Enough already! `Traversal` provides a better way:

```
$baz = Gnugat\Traversal\get_in($data, array('foo', 'bar', 'baz'));
```

> **Note**: `Traversal` is a fork of [Igor](https://igor.io/)'s [get-in](https://github.com/igorw/get-in). which provides support for PHP 5.3.

[![SensioLabsInsight](https://camo.githubusercontent.com/0a55eead8330bdc0e55b496293065cf17740e2e28300e54937c0514bba5ce610/68747470733a2f2f696e73696768742e73656e73696f6c6162732e636f6d2f70726f6a656374732f33316137333830322d326238372d346436352d396165312d3532656461616339663261362f6d696e692e706e67)](https://insight.sensiolabs.com/projects/31a73802-2b87-4d65-9ae1-52edaac9f2a6)[![Travis CI](https://camo.githubusercontent.com/87b11e871102355f416a4a5027d4d8d09c4e71a384ae0340239383ad8245c806/68747470733a2f2f7472617669732d63692e6f72672f676e756761742f74726176657273616c2e706e67)](https://travis-ci.org/gnugat/traversal)

Installation
------------

[](#installation)

Use [Composer](http://getcomposer.org/) to install Traversal in your projects:

```
composer require gnugat/traversal:~2.0

```

Usage
-----

[](#usage)

Make the functions available by requiring Composer's autoloader:

```
