简体   繁体   中英

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

I am really sorry about this confusing question, but essentially I have a PHP array made up of multiple other arrays. Of these arrays, I'd like to extract the array with the maximum value in the cpmbid column of the relevant array.

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?

I am sorry if this is a duplicate question, and I appreciate any answers. Thanks!

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

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

Check with following code, it will find max value then max array based on value:

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

$array = your array,

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM