Boyutlu bir dizi araştırmayı doğru / yanlış Dönüş

0 Cevap php

Ben aşağıdaki çok boyutlu $ dizi var:

Array
(
    [0] => Array
        (
            [domain] => example.tld
            [type] => 2
        )

    [1] => Array
        (
            [domain] => other.tld
            [type] => 2
        )

    [2] => Array
        (
            [domain] => blaah.tld
            [type] => 2
        )

)

Ben sadece ardışık anahtar ve değer hem de tüm diziler arama, ve hiçbir şey bulunamadı eğer anahtar / değer bulundu veya false ise true dönmek istiyorum.

Beklenen çıkışı:

search_multi_array($array, 'domain', 'other.tld'); // Will return true
search_multi_array($array, 'type', 'other.tld'); // Will return false
search_multi_array($array, 'domain', 'google.com'); // Will return false

Ben bu fonksiyonu ile tüm tuşları karşı etki alanına karşı aramak için bir çirkin çirkin yöntemini çözdüm:

function search_multi_array($search_value, $the_array) {
    if (is_array($the_array)) {
        foreach ($the_array as $key => $value) {
        $result = search_multi_array($search_value, $value);
        if (is_array($result)) {
            return true;
        } elseif ($result == true) {
            $return[] = $key;
            return $return;
        }
        }
        return false;
    } else {
        if ($search_value == $the_array) {
        return true;
        }
        else
        return false;
    }
}

Herkes daha iyi yapmak ve daha şık bir şekilde anahtar ve değer karşı hem de maç miyim?

0 Cevap