PHP中如何获取与最低价格数组元素对应的店铺数组元素
解决方法:找到最低价格对应的商店元素
嘿,我来帮你搞定这个问题!看起来你是在PowerShell里处理两个关联数组,想找到最低价格对应的商店元素对吧?我给你两种方案,一种是用PowerShell的内置功能简化代码,另一种是完善你已经写好的for循环逻辑。
方案一:用内置工具快速实现(推荐)
你之前尝试用min()没成功,其实PowerShell里可以用Measure-Object来获取数组的最小值,再找到对应的索引就行:
# 定义你的两个数组 $store = @("A", "B", "C", "D", "E") $price = @(2, 10, 1, 500, 20) # 1. 获取价格数组中的最低值 $minPrice = $price | Measure-Object -Minimum | Select-Object -ExpandProperty Minimum # 2. 找到这个最低值在价格数组中的第一个索引 $minIndex = $price.IndexOf($minPrice) # 3. 根据索引获取对应的商店元素 $lowestPriceStore = $store[$minIndex] # 输出结果 echo $lowestPriceStore
这段代码会输出C,正好对应价格数组里的最小值1。如果价格数组里有多个相同的最低值,这个方法会返回第一个出现的对应商店元素。
方案二:完善你的for循环逻辑
如果你想沿用自己写的循环框架,可以这样填充逻辑:
$store = @("A", "B", "C", "D", "E") $price = @(2, 10, 1, 500, 20) $minIndex = 0 # 先假设第一个元素是当前最低的 $minPrice = $price[0] # 初始化最低价格为第一个元素的价格 # 从数组末尾往前遍历(和你原来的循环方向一致) for ($x = $price.Count - 1; $x >= 0; $x--) { # 比较当前元素的价格和已知的最低价格 if ($price[$x] -lt $minPrice) { # 如果当前价格更低,更新最低价格和对应的索引 $minPrice = $price[$x] $minIndex = $x } } # 输出对应商店元素 echo $store[$minIndex]
这个循环的逻辑是:先初始化最低价格和索引为数组的第一个元素,然后从后往前逐个检查价格,一旦发现更低的价格就更新记录,最后输出对应的商店元素。注意如果有多个相同的最低值,这个从后往前的循环会返回最后一个出现的对应商店元素,你可以根据需求调整遍历方向。
内容的提问来源于stack exchange,提问作者Kyle
相关产品推荐
相关产品推荐

