php查找数组值是否大于变量
您好a我正在尝试创建一个函数,如果值大于a变量,该函数将从数组中返回一个值。 数组是php查找数组值是否大于变量,php,arrays,Php,Arrays,您好a我正在尝试创建一个函数,如果值大于a变量,该函数将从数组中返回一个值。 数组是 [0] => Array ( [payment] => 1 [amount] => 100) [1] => Array ( [payment] => 2 [amount] => 300 ) [2] => Array ( [payment] => 3 [amount] => 800 ) $variable=350 我需要得到的付款价值,如果是大于300金
[0] => Array ( [payment] => 1 [amount] => 100)
[1] => Array ( [payment] => 2 [amount] => 300 )
[2] => Array ( [payment] => 3 [amount] => 800 )
$variable=350
我需要得到的付款价值,如果是大于300金额。
我的意思是收回价值=2的付款。这比300大,比800小
谢谢那么。。。弗兰肯斯坦来了!:)
正如您所说,如果您正在搜索fr 350,则需要返回金额为300的记录,这意味着:-
您首先搜索最接近的金额,然后获取相应金额的付款
值
你可以这样做:-
您尝试了什么?请试试看。这就是你学习的方式。如果您希望所有付款值都大于300,或者至少有一个付款值大于300,那么您希望收到完整的代码而不进行任何尝试,这对您没有任何好处?请进一步解释您的问题。您正在寻找的不是payment=3吗?它应该大于350,这意味着数组的键2或payment=3?很抱歉,我没有找到任何答案。我花了5个小时来寻找这个结果。对我的错误感到抱歉English@DaniEvanRubenstein很高兴帮助你:):)
<?php
$array = Array(
'0' => Array ( 'payment' => 1, 'amount' => 100) ,
'1' => Array ( 'payment' => 2, 'amount' => 300 ) ,
'2' => Array ( 'payment' => 3, 'amount' => 800 )
);
function getNearest($search, $arr) {
$closest = null;
foreach ($arr as $item) {
if ($closest === null || abs($search - $closest) > abs($item - $search)) {
$closest = $item;
}
}
return $closest;
}
$key = array_search(getNearest(350, array_column($array,'amount')),array_column($array,'amount'));
echo $array[$key]['payment'];