Ну, есть много способов добиться этого, из которых два я упомянул ниже:
Фрагмент:
<?php
$arr = [
'item1' => 0,
'item2' => 10,
'item5' => 0,
'item10' => 10,
'item12' => 5,
'item120' => false,
];
$filtered = array_filter($arr,function($value){
return $value !== 0;
});
print_r($filtered);
Демонстрация: https://3v4l.org/fMsHt
- Другой способ, который я бы предложил, это использовать array_diff ()
Фрагмент:
<?php
$arr = [
'item1' => 0,
'item2' => 10,
'item5' => 0,
'item10' => 10,
'item12' => 5,
'item120' => false,
];
print_r(array_diff($arr,[0]));
Демо: https://3v4l.org/3YHiX