Prüfen Sie, ob der Wert in einem mehrdimensionalen Array vorhanden ist, indem Sie array_search und array_column verwenden, ohne die Werte von Array [0] zurückzugeben.

Ich muss überprüfen, ob ein Wert in einem mehrdimensionalen Array vorhanden ist. Ich fand dieses Beispiel aufPaketüberflus und am PHP.NET was ich mag, weil es eine elegante und kompakte Lösung ist, aber ich habe ein seltsames Verhalten bemerkt:

$userdb=Array
(
(0) => Array
    (
        (uid) => '100',
        (name) => 'Sandra Shush',
        (pic_square) => 'urlof100'
    ),

(1) => Array
    (
        (uid) => '5465',
        (name) => 'Stefanie Mcmohn',
        (pic_square) => 'urlof100'
    ),

(2) => Array
    (
        (uid) => '40489',
        (name) => 'Michael',
        (pic_square) => 'urlof40489'
    )
);



if(array_search(100, array_column($userdb, 'uid'))) {
    echo "FOUND";
}

Die IF-Anweisung gibt keinen Wert zurück, wenn Sieprüfe die Existenz eines beliebigen Wertes desZUERS array Array [0]). Es funktioniert mit den Werten der anderen Arrays. Versuche es mit100 zuerst versuchen, dann mit40489 (oder versuchen Sie es mit einem "Namen" oder "pic_square").

Antworten auf die Frage(8)

Ihre Antwort auf die Frage