php - 在 foreach 循环中引用刚刚在数组中设置的值
问题描述
我们有一个 foreach 循环,它是我们的控制台命令之一,它构建了一个数组以在转换为 Json 后放入数据库中。
为了获得特定值之一,我们想引用循环中已拉出的两个 OTHER 值
下面是循环,“conversionRate”值是我们试图从“sales”和“quotes”查询的结果中获得的值。我不知道如何在仍在循环中调用它们。
foreach ($users as $user) {
$todaysCcActionsArray[] = [
'name' => DB::Table('sw_users')->where('EmailAddress', $user)->value('FirstName'),
'code' => $user,
'sales' => Order::where('Status', 'BOOKING')
->whereNotIn('Product', ['commercial_insurance', 'home_insurance'])
->where('MasterOrderNumber', 0)
->whereNull('OriginalOrderNumber')
->where('CallCentreID', '!=', $user)
->whereDate('OrderDate', '=', date('Y-m-d'))->count(),
'quotes' => Order::where('Status', 'QUOTE')
->whereNotIn('Product', ['commercial_insurance', 'home_insurance'])
->where('MasterOrderNumber', 0)
->whereNull('OriginalOrderNumber')
->where('CallCentreID', '!=', $user)
->whereDate('OrderDate', '=', date('Y-m-d'))->count(),
'conversionRate' => 'sales' / 'quotes' * 100
];
}
更新
这就是打印出来的结果。
array:16 [
0 => array:4 [
"name" => "Melissa"
"code" => "mkingnew"
"sales" => 2
"quotes" => 1
]
1 => array:4 [
"name" => "Wendy"
"code" => "wjonesnew"
"sales" => 2
"quotes" => 1
]
2 => array:4 [
"name" => "Sarah"
"code" => "sdickersonnew"
"sales" => 2
"quotes" => 1 ]
解决方案
您实际上正在做的是尝试在创建数组条目时使用其自身的值创建一个数组条目......您不能那样做:)
您可以做的是分段构建条目,然后将其添加到数组中:
foreach ($users as $user) {
$entry = array(
'name' => DB::Table('sw_users')->where('EmailAddress', $user)->value('FirstName'),
'code' => $user,
'sales' => Order::where('Status', 'BOOKING')
->whereNotIn('Product', ['commercial_insurance', 'home_insurance'])
->where('MasterOrderNumber', 0)
->whereNull('OriginalOrderNumber')
->where('CallCentreID', '!=', $user)
->whereDate('OrderDate', '=', date('Y-m-d'))->count(),
'quotes' => Order::where('Status', 'QUOTE')
->whereNotIn('Product', ['commercial_insurance', 'home_insurance'])
->where('MasterOrderNumber', 0)
->whereNull('OriginalOrderNumber')
->where('CallCentreID', '!=', $user)
->whereDate('OrderDate', '=', date('Y-m-d'))->count(),
);
$entry['conversionRate'] = $entry['sales'] / $entry['quotes'] * 100;
$todaysCcActionsArray[] = $entry;
}
推荐阅读
- javascript - 使用 redux 的未定义值
- google-contacts-api - YouTube iframe 嵌入,视频不可用
- python - 获取一些 X,Y 数据 - 为它拟合一个函数(带有尾端) - 将该函数作为 pdf 样本
- apache-spark - 您如何在 hdfs 中查看文件的行组
- r - 将以“Process”结尾的列拆分为具有 R 中单个值的许多列
- python - 我如何获得数字 0-9 的直接相反数字
- css - 如何在标题上方的左上角制作徽标并固定
- azure-devops - 在 Azure DevOps 中,我可以创建一个基于 PBI 数据计算项目运行状况的查询吗?
- c# - 使用 LINQ 识别重复的数据表行
- html - 如何使用 Thymeleaf 打印类似矩阵的数组