假设我有一个数组如下所示:
在这种情况下,
谢谢您的提前帮助。
编辑:
我想做的是:
1. 找到最高的“买”价值 2. 如果这个值只出现一次(这意味着数组中只有一个最高的“买”价值),则将“[mostPouplar]= >yes”推入数组 3. 如果不是(存在两个或更多相同的最高值),则找到最高的“卖”价值。
这意味着如果最高值是唯一的,则会停止进行进一步的操作。 如果不是,则会继续查找数组中的次要最高值。 是否可能实现这一点?
array( [0] => array([item]=>apple [buy]=>50 [sell]=>30)
[1] => array([item]=>lemon [buy]=>50 [sell]=>60)
[2] => array([item]=>banana [buy]=>40 [sell]=>20)
[3] => array([item]=>orange [buy]=>20 [sell]=>30)
)
目前,我正在使用这个脚本来检查哪个商品有最多的买家。
function getMax($array, $val)
{
$max = 0;
foreach( $array as $k => $v )
{
$max = max( array( $max, $v[$val] ) );
}
return $max;
}
$highestBuy = getMax($thisArray, 'buy');
foreach($thisArray as $i=>element){
if($element['buy'] == $highestBuy){
$thisArray[$i]['highestBuy'] = 'yes';
} else {
$thisArray[$i]['highestBuy'] = 'no';
}
}
在这种情况下,
apple
和lemon
都将具有highestBuy
为yes
的值。但现在我想通过检查它们的sell
来找出哪个项目最受欢迎,如果有两个或更多相同的highestBuy
值。最简单或最快的方法是什么,以使输出如下所示:array([0] => array([item]=>apple [buy]=>50 [sell]=>30 [mostPopular]=>no)
[1] => array([item]=>lemon [buy]=>50 [sell]=>60 [mostPopular]=>yes)
[2] => array([item]=>banana [buy]=>40 [sell]=>20 [mostPopular]=>no)
[3] => array([item]=>orange [buy]=>20 [sell]=>30 [mostPopular]=>no)
)
谢谢您的提前帮助。
编辑:
我想做的是:
1. 找到最高的“买”价值 2. 如果这个值只出现一次(这意味着数组中只有一个最高的“买”价值),则将“[mostPouplar]= >yes”推入数组 3. 如果不是(存在两个或更多相同的最高值),则找到最高的“卖”价值。
这意味着如果最高值是唯一的,则会停止进行进一步的操作。 如果不是,则会继续查找数组中的次要最高值。 是否可能实现这一点?
banana
作为最受欢迎的结果。或者是我错过了什么?示例在这里。 - user3571945