【发布时间】:2021-08-20 08:39:13
【问题描述】:
这是我的数组。
array (
0 =>
(object) array(
'per_unit_price' => NULL,
'code' => 'dynamic_labour_cost',
'text_value' => '1000',
),
1 =>
(object) array(
'per_unit_price' => NULL,
'code' => 'dynamic_metal_weight',
'text_value' => '10',
),
2 =>
(object) array(
'per_unit_price' => NULL,
'code' => 'dynamic_stone_carat',
'text_value' => '10',
),
3 =>
(object) array(
'per_unit_price' => NULL,
'code' => 'dynamic_stone2_carat',
'text_value' => '10',
),
4 =>
(object) array(
'per_unit_price' => '10.00',
'code' => 'dynamic_metal',
'text_value' => NULL,
),
5 =>
(object) array(
'per_unit_price' => '20.00',
'code' => 'dynamic_stone',
'text_value' => NULL,
),
6 =>
(object) array(
'per_unit_price' => '50.00',
'code' => 'dynamic_stone2',
'text_value' => NULL,
),
)
总之,
举个例子=
我想相乘 => array[1]['text_value'] * array[4]['per_unit_price']
因为
array[1]['code'] = dynamic_metal_weight 是 array[4]['code'] = dynamic_metal 的子字符串
由于所有代码都是动态的,所以我不能硬编码条件。
我尝试使用 for each [扫描所有数组],但传统循环会花费很多时间。
请指导我。
【问题讨论】:
-
请在问题中粘贴
var_export($array);,并向我们展示您的最佳尝试。这就是为什么你应该not post pictures 的代码。阅读How to Ask。 -
你能告诉我们any code you already have吗?
-
@AakashThoriya 你所说的循环是指嵌套循环吗?您还没有分享您的尝试和预期输出。
-
@AakashThoriya 你能告诉我,如果让我们说
dynamic_metal每个单价数组元素相乘,其他代码总是有前缀dynamic_metal然后你希望它乘以那个。 -
如果你坚持这样并且你不能在数据库中这样做,创建一个使用
code作为键索引的新数组,值是一个对象数组用那个代码。您可以这样做一次,然后不是一个巨大的循环,而是一个键查找,然后是一个较小的循环。
标签: php arrays laravel search substring