Tach!
gegeben sei in Array in folgender Form:
Das ist nicht "ein Array" und auch kein "mehrdimensionales Array". Das sind viele Arrays, ineinander verschachtelt.
Alle meine bisherigen Versuche mit in_array oder array_search haben nur zu Fehlern geführt.
Diese Funktionen berücksichtigen ja auch immer nur ein einzelnes Array und nicht viele. Und du kannst beiden Funktionen keine selbst definierte Selektionsfunktion übergeben. Die suchen nur nach kompletten Werten, nicht in Teilen der Elemente.
Gibt es eine kurze und elegante Möglichkeit, hier zu überprüfen, ob ein Username vorhanden ist und wenn ja, zu welcher "Usernummer" der gehört?
Du musst auf alle Fälle durch das äußere Array laufen und die Unterarrays einzeln betrachten. Iterativ mit foreach und in dessen Body ein Vergleich nebst Abbruch bei Übereinstimmung oder funktional mit array_filter() und selbst geschriebener Vergleichsfunktions.
Prüfe außerdem, ob sich nicht gleich der Username als Keys des äußeren Arrays verwenden lässt. Damit ergibt sich das Eindeutig-Sein von selbst und die Prüfung beschränkt sich auf ein isset().
dedlfix.