php - 在 foreach PHP 中使用 echo 时添加字符串

标签 php laravel

我正在使用 foreach 在 laravel php 中显示我的数据库中的某些值。但是,当我运行多个 foreach 语句时,这些值作为单个值出现,例如“100.00 200.00”。但是,我希望这些值是在 foreach 语句之后添加的字符串,例如“300.00”。我的 foreach 语句如下所示:

@php
foreach($cash_sales as $cs){
  if( $ledgers->id == $cs->dr_ledger){
    echo number_format($cs->amount, 2);
  };
};      

foreach($oprefund_credit_cr as $op){
  if( $receivable->id == $op->ledger_code){
    echo number_format($op->amount, 2);
  };
};
@endphp

我希望通过添加来连接这些值。有什么方法可以实现我想要的吗?任何帮助将不胜感激。

最佳答案

如果我的问题正确,请将中间结果存储在变量中并在最后打印。

$sum = 0;
foreach($cash_sales as $cs){
  if( $ledgers->id == $cs->dr_ledger){
    sum += $cs->amount; 

  };
};      

foreach($oprefund_credit_cr as $op){
  if( $receivable->id == $op->ledger_code){
    echo number_format($op->amount, 2);
    $sum+=$op->amount;
  };
};
echo number_format($sum, 2);

编辑:

这应该保存每个分类帐的单独金额

$result = [];

foreach($cash_sales as $cs){
  if( $ledgers->id == $cs->dr_ledger)
  {
       $key = 'cash_sales_'.$cs->dr_ledger;
       if (empty($result[$key]) $result[$key] = 0; 
       $result[$key] += $cs->amount; 

  };
};      

foreach($oprefund_credit_cr as $op){
  if( $receivable->id == $op->ledger_code){
    $key = 'oprefund_credit_cr_'.$op->ledger_code;
    if (empty($result[$key]) $result[$key] = 0; 
    $result[$key] += $cs->amount; 
  };
};


foreach($result as $key=>$value)
{
    echo sprintf("%s: %s", $key, number_format($value, 2));
}

关于php - 在 foreach PHP 中使用 echo 时添加字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53755820/

相关文章:

javascript - Jquery自动刷新分页

php - 无法访问 MySQL 数据库

php - Laravel 本地化,如何获取自定义语言值

javascript - 无法通过javascript函数调用路由

php - 我的 Laravel 5.2.10 session 不会持续

php - 在 php 中搜索多个值

php - 如何使用 Mailgun 的官方 PHP SDK 在邮件成功排队时读取 API 响应?

php - 如何使用 Laravel Eloquent 创建子查询?

php - 找不到 Laravel 5.1 路由对象

php - "php artisan dump-autoload"和 "composer dump-autoload"之间有什么区别?