Комбинируем несколько функций. К примеру мы можем убрать из массива все пустые значения, вызвав array_filter() и array_map() :
$values = ['say ', ' bye', ' ', ' to', ' spaces ', ' '];
$words = array_filter(array_map('trim', $values));
print_r($words); // ['say', 'bye', 'to', 'spaces']
Чтобы получить идентификаторы и названия объектов моделей достаточно
вызывать array_combine() и array_column() :
$id_to_title = array_combine( array_column($models, 'id'), array_column($models, 'title') );
Подсчёт трёх самых часто используемых элемента массива можно осуществить вызовом array_count_values() , arsort() и array_slice() :
$letters = ['a', 'a', 'a', 'a', 'b', 'b', 'c', 'd', 'd', 'd', 'd', 'd']; $values = array_count_values($letters); // get key to count array arsort($values); // sort descending preserving key $top = array_slice($values, 0, 3); // get top 3 print_r($top); // Array // ( // [d] => 5 // [a] => 4 // [b] => 2 // )
Комбинация функций array_sum() и array_map() позволит подсчитать сумму товаров в корзине:
$order = [
['product_id' => 1, 'price' => 99, 'count' => 1],
['product_id' => 2, 'price' => 50, 'count' => 2],
['product_id' => 2, 'price' => 17, 'count' => 3],
];
$sum = array_sum(array_map(function($product_row) {
return $product_row['price'] * $product_row['count'];
}, $order));
print_r($sum); // 250