count элементов массива с определенным значением

Userpic

Новичок
count элементов массива с определенным значением

Доброго времени всем.
есть массив
PHP:
$ARR_= array(
 array(enable=>"1", name=>"Apple", ), 
 array(enable=>"1", name=>"Orange",), 
 array(enable=>"0", name=>"Bannana",)
);
count($ARR_) даст результат 3, а как получить результат с учетом enable=1, т.е. в данном случае 2 ?
Интересует возможностями array функций, перебор через foreach известен.
Спасибо.
 

.des.

Поставил пиво кому надо ;-)
Через array_walk, create_function и извраты можно, но совершенно не нужно.
Напишите функцию count_enabled и это будет самое верное решение.
 

white phoenix

Новичок
Быстрее чем способом foreach, задачу решить нельзя.

-~{}~ 30.12.05 03:49:

.des.
Тогда уж [m]array_filter[/m], но это будет медленее чем foreach, всё равно функция array_filter будет перебирать каждый элемент + ненужные затраты на callback.
 

.des.

Поставил пиво кому надо ;-)
array_filter предназначен для фильтрации %) нам же нужно считать. отфильтровать все по enable и потом count, накладных расходов еще больше.
Вообще все array* функции в php надо использовать очень осторожно, так как на больших массивах встроенные функции очень часто серьезно проигрывают в скорости самописным заменам.
 
Сверху