3 回答

TA貢獻(xiàn)1862條經(jīng)驗(yàn) 獲得超6個(gè)贊
您可以array_column
使用array_keys
和max
$amountArr = array_column($arr, null, 'amount'); print_r($amountArr[max(array_keys($amountArr))]);
工作示例:- https://3v4l.org/d2WRf

TA貢獻(xiàn)1829條經(jīng)驗(yàn) 獲得超4個(gè)贊
Rakesh 的解決方案通過在調(diào)用期間使用amount
作為新鍵消除了多個(gè)限定子數(shù)組的可能性。array_column()
至少有幾種不同的方法可以執(zhí)行此任務(wù)。這只是一個(gè) - 提取最大值,然后使用該值過濾整個(gè)數(shù)組。
代碼:(演示)
$array = [
[
'code' => 'Custom discount',
'amount' => 3514.55,
'type' => 'fixed_amount'
],
[
'code' => 'MerOrder300',
'amount' => 400.00,
'type' => 'fixed_amount'
],
[
'code' => 'MerOrder400',
'amount' => 3514.55,
'type' => 'fixed_amount'
],
[
'code' => 'MerOrder450',
'amount' => 450.00,
'type' => 'fixed_amount'
]
];
$max = max(
array_column($array, 'amount')
);
var_export(
array_filter(
$array,
function($subarray) use ($max) {
return $subarray['amount'] == $max;
}
)
);

TA貢獻(xiàn)1895條經(jīng)驗(yàn) 獲得超7個(gè)贊
您可以使用foreach:
$arr = [
[
'code' => 'Custom discount',
'amount' => 3514.55,
'type' => 'fixed_amount'
],
[
'code' => 'MerOrder300',
'amount' => 400.00,
'type' => 'fixed_amount'
],
[
'code' => 'MerOrder400',
'amount' => 400.00,
'type' => 'fixed_amount'
],
[
'code' => 'MerOrder450',
'amount' => 450.00,
'type' => 'fixed_amount'
]
];
$max = $arr[0];
foreach ($arr as $line) {
if ($line['amount'] > $max['amount']) {
$max = $line;
}
}
print_r($max);
- 3 回答
- 0 關(guān)注
- 134 瀏覽
添加回答
舉報(bào)