Php 如何获得大于零的最小值?

Php 如何获得大于零的最小值?,php,Php,我试图得到大于零的最小值,在这里多次尝试寻找解决方案后,我仍然无法得到我想要的 我尝试添加$filtered\u数组,但无效 添加了一些额外的数组,但仍然无法工作 $sum3 = 0; $temp3 = $limit; $tmp_date3 = new DateTime($curdate); $tmp_date3 ->modify('+1 day'); $tmp_next3 = $tmp_date3->format('Y-m-d'); $min3 = $p

我试图得到大于零的最小值,在这里多次尝试寻找解决方案后,我仍然无法得到我想要的

我尝试添加$filtered\u数组,但无效

添加了一些额外的数组,但仍然无法工作

  $sum3 = 0;
  $temp3 = $limit;
  $tmp_date3  = new DateTime($curdate);
  $tmp_date3 ->modify('+1 day');
  $tmp_next3 = $tmp_date3->format('Y-m-d');

  $min3 = $price3[trim($tmp_next3)];
  $max3 = $price3[trim($tmp_next3)];
      while($temp3 != 0 ){
        $sum3 += $price3[$tmp_next3];
        $min3 = min($min3, $price3[$tmp_next3]);
        $max3 = max($max3, $price3[$tmp_next3]);
        $date  = new DateTime($tmp_next3);
        $date ->modify('+1 day');
        $tmp_next3 = $date ->format('Y-m-d');
        $temp3--;
    }
 $average3 = $sum3/$limit;
 $cheaper3 = $min3+$average3/10;
 $normal3 = $max3-$average3/10;
$min3应该是大于零/空白的值,否则,它会影响以后的所有计算。你有什么建议

$price3 = array(59, 55, 46, 68, 0, 25, 10, 0)

由于我是一个非常初级的开发人员,如果您能直接用我的代码帮助我,我将不胜感激

一个基本示例,展示了这样的事情是多么容易做到:

$data = [17, 4, -5, 2, 99, -77];

$min = PHP_INT_MAX;

foreach($data as $value) {
  if($value > 0 && $value < $min) {
    $min = $value;
  }
}

echo "Minimum value that is greater zero: ", $min;
输出:

大于零的最小值:2


请根据您自己的实际数据结构进行调整。

您的代码中的$price3数组是什么?请提供适当的,包括示例数据和预期输出。我只是在说明中添加了一些额外的信息“因为我是一个非常初入开发的人,如果您能直接用我的代码帮助我,我将不胜感激。”-请不要期望人们完全为您编写代码,这不是本网站的目的。另外,如果我们这样做的话,你可能会停留在初级水平。你仍然需要努力。我在回答中建议了一个基本的解决方案,从一组值中获得最小值>0,请看如何使其适合您的数据。屏幕截图中的“示例”也没有显示实际的数据结构,而是某种格式化的调试输出。关于stackoverflow的第一个问题。在实践中学习,对吗?非常感谢。