php查找数组值是否大于变量

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金

您好a我正在尝试创建一个函数,如果值大于a变量,该函数将从数组中返回一个值。 数组是

[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'];