Php 使用数组中的min()获得便宜的价格

Php 使用数组中的min()获得便宜的价格,php,arrays,min,Php,Arrays,Min,我用min从数组中获取最便宜的价格,但它显示的是昂贵的而不是便宜的。我还需要从廉价数组中获取所有数据 代码 用户定义函数find_min_price_array返回包含最低价格的数组。它还返回包含相同最低价格的数组 array_column返回多维数组中一列的所有值。array_列$arr,'price'获取数组中的所有价格,然后您可以使用min函数轻松找到最小值。然后,您可以对照循环中多维数组中每个数组的价格检查最小价格 希望有帮助 您是否使用子数组将min实现为整个数组?$min=minar

我用min从数组中获取最便宜的价格,但它显示的是昂贵的而不是便宜的。我还需要从廉价数组中获取所有数据

代码

用户定义函数find_min_price_array返回包含最低价格的数组。它还返回包含相同最低价格的数组

array_column返回多维数组中一列的所有值。array_列$arr,'price'获取数组中的所有价格,然后您可以使用min函数轻松找到最小值。然后,您可以对照循环中多维数组中每个数组的价格检查最小价格


希望有帮助

您是否使用子数组将min实现为整个数组?$min=minarray_列$array,‘price’;也许值得注意的是,array_列只有在5.5版之后才可用。被上面的代码片段弄糊涂了-最初声明$dumpData=array;然后检查一下!空$dumpData&&is_数组$dumpData{???rramrader,来自DB的数据是数组或数组string@Anant没问题。你的代码运行得很好。他需要的额外的东西是得到包含最低价格的数组。他不仅要提取最低价格,还要提取与价格相关联的数组。
 $dumpData = array();

  if ( !empty($dumpData) && is_array($dumpData) ) {

    $minPriceArray = min($dumpData['data']);

    $price = $func->convert_amount($minPriceArray['currency'],   get_currency(), $minPriceArray['price']);
    echo '<span class="price"><small>From</small> '.$price.' '.get_currency().'</span>';

  }else{
    echo '<span class="price">No data found</span>';
  }
 array(4) {
   [0]=>
   array(8) {
     ["logo"]=>
     ["price"]=>
     int(649)
     ["currency"]=>
     string(3) ""
     ["availability"]=>
     string(7) "instock"
   },
   [1]=>
   array(8) {
     ["logo"]=>
     ["price"]=>
     int(849)
     ["currency"]=>
     string(3) ""
     ["availability"]=>
     string(7) "instock"
   },
   [2]=>
   array(8) {
   ...
   },
   [3]=>
   array(8) {
   ...
   }

 }
function find_min_price_array($arr) {
    $prices = array_column($arr, 'price');
    $min_price = min($prices);

    $min_price_array = array();

    foreach($arr as $key => $value) {
        if($value['price'] == $min_price) {
            $min_price_array[] = $value;
        }
    }

    return $min_price_array;
}

var_dump(find_min_price_array($arr));