2014-11-12 7 views
0

Есть ли способ устранить более одного элемента из массива без его прокрутки?Удалить элементы из массива без цикла

Eg: array(1,3,67, 78, 60 , 5, 34, 68); 

Я хочу, чтобы удалить элементы> 50 сразу

+0

Почему вы не хотите использовать цикл? –

+0

Потому что, когда есть много элементов, это замедлит процесс. – Shaolin

+0

Для замедления процесса потребуются тысячи, если не больше. –

ответ

4

Конечно, вы можете использовать array_filter:

$array = array_filter(array(1, 3, 67, 78, 60 , 5, 34, 68), function($element) { 
                   return $element <= 50; 
                  }); 

Функция обратного вызова должна возвращать true для тех элементов массива, которые вы хотите сохранить.

3

Это невозможно сделать без зацикливания, однако вы можете использовать array_filter() функцию для того, чтобы скрыть Петля

function remove($var) { return $var < 50; } 
$data = array_filter($data, 'remove');