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
Hinterlasse einen Kommentar