@Deman1

Как можно сократить код?

Здравствуйте, подскажите пожалуйста как можно этот код сократить?
<?$invo = 0;
foreach($invoices as $item): ?>
<? if (!($item['invoice_status'] == 1)) {
continue;
}?>
<? $invo=$invo+$item['invoice_ammount']; ?>
<?endforeach; echo $invo; ?>
  • Вопрос задан
  • 132 просмотра
Пригласить эксперта
Ответы на вопрос 3
@Arik
<?= array_sum(array_map(function ($item) {
    return $item['invoice_status'] == 1 ? $item['invoice_ammount'] : 0;
}, $invoices)) ?>
Ответ написан
Комментировать
<?=array_reduce($invoices, function(&$sum, $item) {
    return $sum + ($item['invoice_status'] == 1) ? $item['invoice_ammount'] : 0; 
})?>
Ответ написан
ubukulov
@ubukulov
Веб-разработчик
Можно использовать оператор: +=

Подробнее тут:

<?$invo = 0;
foreach($invoices as $item): ?>
<? if (!($item['invoice_status'] == 1)) {
continue;
}?>
<? $invo += $item['invoice_ammount']; ?>
<?endforeach; echo $invo; ?>
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы