如何在数组中找到最小值及其关联密钥



我正在尝试获取具有最小值的数组的键和值。这是我的代码。我有空值变量我想要不是空的值,并且从值中,我需要一个键和值,即从数组或任何其他模式中的 min

 <?php
      $serial_sale_price    ='2';
        $promo_sale_price   ='';
        $inv_sale_price     ='300.00';
        $price_search_seq = 'B';
        //validate for 0 values
        if($serial_sale_price!='' && $serial_sale_price==0)
        {
            $serial_sale_price='0.00';
        }
        if($promo_sale_price!='' && $promo_sale_price==0)
        {
            $promo_sale_price='0.00';
        }
        if($inv_sale_price!='' && $inv_sale_price==0)
        {
            $inv_sale_price='0.00';
        }

        $remove_empty = array('S'=>$serial_sale_price,
                               'P'=>$promo_sale_price, 
                               'I'=>$inv_sale_price);
        $find_min = array_filter($remove_empty); // Array which required in 
        echo "<pre>";
        print_r($find_min);
        $sale_price =  min($find_min);//Minimum Price for the array 
        $price_rule = '';//here i want to get the key which have min value
        echo "sales price:$sale_price,price_rule:$price_rule";

如何一次获取最小值的钥匙和一次最小值的密钥。我从我的榜样中期望的。如果最低值为 serial_sales_price ,则密钥为'S',而值为 2

// Sample by PHP Method 
$var = array_keys($remove_empty , min($remove_empty ));
//$var[0] for letest key have minimum value.    
//This function returns the key for the minimum value. 
function getMinKey( $array )
{
    $min = 0;
    $key = '';
    foreach( $array as $k => $v )
    {
        $min = min($array);
    }
    foreach( $array as $k => $v )
    {
        if($min == $v)
        {
            $key = $k;
        }

    }
    return $key;
}
  echo getMinKey($remove_empty); // for min value key; 

最新更新