Tutorials

Einige nützliche Hilfen und Code-Schnipsel, die ich immer wieder benötige und deshalb hier für alle sammle.

Zurück zur Übersicht

PHP: Wert aus einem multidimensionalen Array via Dot-Notation auslesen

#Tutorials#PHP

In meinem vorherigen Tutorial habe ich eine Funktion gezeigt, die ein Multidimensionales Array anhand einer Strings erstellt. (PHP: Ein multidimensionales Array mit einem String-Pfad erstellen (Dot)).

In diesem Tutorial habe ich die Gegen-Funktion dazu für euch. Hier kann man einen Wert anhand eines Strings mit der Dot-Notation auslesen.

Funktion und Benutzung

function getValueByKey($key, array $data, $default) {
    if (!is_string($key) || empty($key) || !count($data)) {
        return $default;
    }

    if (strpos($key, '.') !== false) {
        $keys = explode('.', $key);
        foreach ($keys as $innerKey) {
            if (!array_key_exists($innerKey, $data)) {
                return $default;
            }
            $data = $data[$innerKey];
        }
        return $data;
    }
    return array_key_exists($key, $data) ? $data[$key] : $default;
}

// Benutzung
$arr = [
   'liste' => [
     'eintrag' => [
       'name' => 'Max Mustermann'
     ]
   ]
];
$value = getValueByKey('liste.eintrag.name' $arr, 'Default Wert');
// $value ist nun Max Mustermann

$value = getValueByKey('liste.eintrag.nachname' $arr, 'Default Wert');
// $value ist nun Default Wert

Kommentare

  • Alex Schneider
    von mir auch vielen Dank
    Antworten

Hinterlasse einen Kommentar

Antworten abbrechen

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

Kommentar wird gespeichert
Danke für deinen Kommentar! Sobald er freigegeben wurde erscheint er hier.