Belirli bir anahtar değerine göre 2D dizi Filtre

3 Cevap php

Nasıl sadece öğeleri tutmak için bu dizi filtre [category] => 1?

[0] => Array
    (
        [link] => index
        [image] => spot
        [category] => 0
    )

[1] => Array
    (
        [link] => test
        [image] => spotless
        [category] => 0
    )

[2] => Array
    (
        [link] => differentcat
        [image] => spotly
        [category] => 1
    )

3 Cevap

Bir geri arama kategori değeri denetler o array_filter kullanabilirsiniz. http://php.net/manual/en/function.array-filter.php

Böyle bir filtre işlevi tanımlayın:

function filter_function($var) {
    return is_array($var) && $var['category'] == 1;
}

... Ve sonra diziye bu işlevi uygulamak için () array_filter kullanın:

$filtered_array = array_filter($my_array, 'filter_function');

Edit: changed the filtering function to keep matching values instead of discarding them.