我在数组中获取正确的值时遇到了问题。我有一个数组,它的键是moq和costunit。如果给定的数量大于或等于moq,我想获取costunit。我有下面的数组。
Array
(
[moq] => 1000
[costunit] => 0.44
)
Array
(
[moq] => 20000
[costunit] => 0.33
)
Array
(
[moq] => 30000
[costunit] => 0.30
)
例1:如果给定数量为25000,则成本单位显示为0.33
示例2:如果给定数量为1230,则成本单位将显示为0.44
$get_prices = array(
array( 'moq'=> 1000, 'costunit'=> 0.44 ),
array( 'moq'=> 20000, 'costunit'=> 0.33 ),
array( 'moq'=> 30000, 'costunit'=> 0.30 ),
);
$get_quantity = 30000;
foreach($get_prices as $get_price){
if($get_price['moq'] >= $get_quantity){
echo '<pre>';
print_r($get_price['costunit']);
echo '</pre>';
}
}
1条答案
按热度按时间g52tjvyc1#
我认为您所需要的只是循环中的一个
break
,以便在找到第一个有效值时停止结果
注意:我认为您的示例是错误的,请重新检查一下您所说的内容,因为这似乎正是代码所做的,除了在找到第一个有效值时没有停止之外
如果像你说的这些是规则
如果给定数量为25000,则成本单位将显示为0.33
如果给定数量为1230,则成本单位将显示为0.44
然后,这段代码将执行此操作,但是,您必须决定将
$prev_cu
设置为什么值,以便在$get_quantity
小于数组第一次出现时的moq
时获得正确的值。