‘Incline’ uma matriz sem usar um loop

Caso você precise reduzir uma estrutura de array, você pode usar uma função de retorno de chamada anônima em vez de um loop foreach tradicional .

<?php
$sts
= array(
array
('id' => 100, 'slot' => 'a'),
array
('id' => 200, 'slot' => 'b'),
array
('id' => 300, 'slot' => 'c'),
array
('is' => 400, 'slot' => 'd'),
);
$stis
= array();
array_filter
($sts, function($st) use(&$stis) {
if (isset($st['id'])) {
return $stis[] = $st['id'];
}
});

E o resultado será o seguinte com um elemento omitido que falha na cláusula de guarda incorporada na função anônima:

array(3) {
[0] =>
int(100)
[1] =>
int(200)
[2] =>
int(300)
}