Code-Snipplet: Pfadzugriff auf mehrdimensionale Arrays

Da mir die Tastaturakrobatik beim Zugriff auf verschachtelte Arrays mächtig auf den Zünder geht, bin ich dazu übergegangen, mir eine Funktion zu schreiben die mir den Zugriff wie auf einen Pfad ermöglicht.

Viel zu erklären ist daran eigentlich nicht, schätze ich.

/**
 *
 * @param string $route
 * @param array $array
 * @param mixed $value
 * @param string $separator
 * @return mixed
 */
function array_route($route, &$array, $value=null, $separator='.')
{
    $nodes = explode($separator, trim($route, $separator));
    $current = & $array;
    while (null !== ($index = array_shift($nodes)))
    {
        if (is_null($value))
        {
            if (!isset($current[$index]))
                return null;
        }
        else
        {
            $current[$index] = null;
        }
        $current = & $current[$index];
    }
    if (!is_null($value))
        $current = $value;
    return $current;

}

Wer dennoch Fragen hat, ist herzlich eingeladen die Kommentarfunktion zu benutzen.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.