dedlfix: Mehrdimensionales Array durchsuchen - nur über Schleife?

Beitrag lesen

echo $begrüßung;

Irgedwie fällt mir nicht ein, wie man das machen könnte. Man kann zwar das Literal des Deep-Keys aufbauen, aber ohne eval() wird man es wohl später nicht benutzen können. Da fehlt mir einfach die Idee.
Bleibt also nur je eine Referenz auf die Treffer?

Wenn du wirklich keine grundlegende bessere Lösung für den konkreten Anwendungsfall findest, fallen mir noch zwei weitere Lösungen ein. Rekursiv den Wert finden oder bei überschaubarer Maximal-Schachtlungstiefe eine spezialisierte Funktion.

function find() {  
  if (func_num_args() > 2)  
    ;// zu viel  
  if (func_num_args() == 2)  
    return $array[func_get_arg(0)][func_get_arg(1)];  
  if (func_num_args() == 1)  
    return $array[func_get_arg(0)];  
  return $array;	  
}

Die Sichtbarkeit von $array habe ich mal unbeachtet gelassen. Man könnte das als Parameter übergeben und müsste dann die Auswertung der Argumenteanzahl anpassen. Oder eine Klasse um das Problem stricken.

echo "$verabschiedung $name";