Хабр Курсы для всех
РЕКЛАМА
Практикум, Хекслет, SkyPro, авторские курсы — собрали всех и попросили скидки. Осталось выбрать!
function to_collection($data)
{
$builder = new CollectionBuilder();
return $builder->addAll($data)->build();
}
if (!array_filter($arr)) {
echo "Все ячейки пустые!"
}
foreach ($array as $k => $el) {
if ($el['smth'] > LIMIT) {
unset($array[$k]);
}
}$array = array_filter($array, function($el) {
return $el['smth'] <= LIMIT;
});$method = function($name) {
return function($item) use($name) { return $item->$name(); };
};
$itemsTitles = array_map($method('getTitle'), $items);
$itemsTexts = array_map($method('getText'), $items);
$itemsDates = array_map($method('getDate'), $items);
$itemsTitles = array();
foreach ($items as $item) {
$itemsTitles[] = $item->getTitle();
}
$itemsTexts = array();
foreach ($items as $item) {
$itemsTexts[] = $item->getText();
}
$itemsDates = array();
foreach ($items as $item) {
$itemsDates[] = $item->getDate();
}
$items = to_collection($items);
$itemsTitles = $items->mapBy(x()->getTitle());
$itemsTexts = $items->mapBy(x()->getText());
$itemsDates = $items->mapBy(x()->getDate());
use collada\to_collection;
use collada\method;
$items = array_to_coll($items);
$itemsTitles = $items->mapBy(method('getTitle'));
$itemsTexts = $items->mapBy(method('getText'));
$itemsDates = $items->mapBy(method('getDate'));
$itemsTitles = array();
$itemsTexts = array();
$itemsDates = array();
foreach ($items as $item) {
$itemsTitles[] = $item->getTitle();
$itemsTexts[] = $item->getText();
$itemsDates[] = $item->getDate();
}
$itemsTitles = array_map($method('getTitle'), $items);
// $itemsTitles = ARRAY OF $items, MAPPED BY method getTitle
$itemsTitles = array();
foreach ($items as $item) {
$itemsTitles[] = $item->getTitle();
}
// $itemsTitles = ARRAY
// for each $item in ARRAY OF $items
// append to $itemsTitles $item->getTitle()
$method('getTitle'). Вот серьезно, не притворяйтесь что можете прочитать эту конструкцию как-то по-другому нежели «метод getTitle».foreach позволяет совершенно естественно реализовать логику фильтрации любой сложности. В то время как для array_filter в любом мало-мальски сложном случае придется писать отдельную функцию.
Colada — удобная работа с коллекциями