从PHP中的数组数组中获取最大值和对应数组的key

Get the maximum value and the key of the corresponding array from an array of arrays in PHP

我对这个令人困惑的问题感到非常抱歉,但本质上我有一个由多个其他数组组成的 PHP 数组。在这些数组中,我想提取相关数组的 cpmbid 列中具有最大值的数组。

Array ( [0] => Array ( [cid] => 1 [accountid] => anaccount [orderid] => two [campaigntype] => CPM [bid] => 1.40000 [creativename] => Creative 2 [imgsource] => https://i1.wp.com/test-bucket-dfn.s3.us-west-2.amazonaws.com/wp-content/uploads/2019/07/24122252/NATPE-300x250.jpg?ssl=1 [clickthrough] => https://google.com/search?q=ad3 [targethostname] => localhost [targetpath] => all [keyvalue1] => my [keyvalue2] => any [keyvalue3] => any [width] => 300 [height] => 250 [dayrem] => 4 [clickrem] => 0 [imprem] => 1019 ) [1] => Array ( [cid] => 2 [accountid] => anaccount [orderid] => one [campaigntype] => CPM [bid] => 1.60000 [creativename] => Creative 2 [imgsource] => https://encrypted-tbn0.gstatic.com/images?q=tbn:ANd9GcSm2kj7NQ0uuIxYqSA4-3dd1-I_x2xcpq2LmMfAcUOTG2AVv2n6bCkONgr1uVNJJO8EFIg&usqp=CAU [clickthrough] => https://google.com/search?q=ad2 [targethostname] => localhost [targetpath] => /home/no [keyvalue1] => hello [keyvalue2] => my [keyvalue3] => friend [width] => 300 [height] => 250 [dayrem] => 2 [clickrem] => 0 [imprem] => 753 ) [2] => Array ( [cid] => 3 [accountid] => anaccount [orderid] => three [campaigntype] => CPM [bid] => 2.30000 [creativename] => Creative 3 [imgsource] => https://encrypted-tbn0.gstatic.com/images?q=tbn:ANd9GcRmZIh09uRp3ADOszQz6APBuCOmd6H_cQ-Dew&usqp=CAU [clickthrough] => https://google.com/search?q=ad4 [targethostname] => localhost [targetpath] => /fruitsalad/page.html [keyvalue1] => any [keyvalue2] => any [keyvalue3] => any [width] => 300 [height] => 250 [dayrem] => 2 [clickrem] => 0 [imprem] => 1000 ) [3] => Array ( [cid] => 4 [accountid] => anaccount [orderid] => two [campaigntype] => CPM [bid] => 1.90000 [creativename] => Creative 4 [imgsource] => https://i1.wp.com/test-bucket-dfn.s3.us-west-2.amazonaws.com/wp-content/uploads/2019/07/24122252/NATPE-300x250.jpg?ssl=1 [clickthrough] => https://google.com/search?q=ad5 [targethostname] => localhost [targetpath] => all [keyvalue1] => any [keyvalue2] => any [keyvalue3] => any [width] => 300 [height] => 250 [dayrem] => 4 [clickrem] => 0 [imprem] => 4013 ) )
//This is the Array, I want to select the array in which the highest 'bid' value is, any answers?

如果这是一个重复的问题,我很抱歉,非常感谢您的回答。 谢谢!

您可以使用 array_column 获取特定键值的数组,并最大化它。

max(array_column($array, 'bid'))

检查下面的代码,它会根据值找到最大值,然后找到最大数组:

$maxval=max(array_column($array,"bid")); 
$maxarray=array_keys(array_column($array,"bid"),$maxval);
print_R($array[$maxarray[0]]); 

$array = 你的数组,