我有从-100到100的7个随机数字,我需要从这7个数字中找出它们之间的最大差异
的例子:
-50 , 60 , -4 , 80 , 25, -34, 15
输出将是130 -50和80的最大差别
但是我需要在php
i have tried echo max(rand(-100, 100));
但不是我要找的输出
this I tried too:
$myarray = array(
'this' => 2,
'that' => 14,
'them' => -5,
'other' => 200,
'nothing' => 42,
'somethingelse' => 1,
'you' => 10,
'me' => 30);
foreach ($myarray as $key => $value) {
if (!isset ($min) || $value < $min) { $min = $value; }
if (!isset ($max) || $value > $max) { $max = $value; }
}
$diff = $max - $min;
echo $diff;
任何建议吗?
<?php
$array = array(-50 , 60 , -4 , 80 , 25, -34, 15);
$min = 0;
$max = 0;
foreach($array as $element) {
if ($element < $min) $min = $element;
if ($element > $max) $max = $element;
}
echo $max - $min;
您使用max()
的方法没有错,但max()
期望数组作为其第一个参数,而rand()
只返回单个整数。
解决方案应该是:
$diff = max($myarray) - min($myarray);
试试这个
$myarray = array(
'this' => 2,
'that' => 14,
'them' => -5,
'other' => 200,
'nothing' => 42,
'somethingelse' => 1,
'you' => 10,
'me' => 30);
function bigDiff($arr){
if(count($arr)>0){
$max = max($arr);
$min = min($arr);
$diff = ($max)-($min);
return $diff;
}
return "Null input array provided";
}
echo bigDiff($myarray);
输出205
这可以是另一种方式:
$arr = array(
'this' => 2,
'that' => 14,
'them' => -5,
'other' => 200,
'nothing' => 42,
'somethingelse' => 1,
'you' => 10,
'me' => 30
);
sort($arr);
$diff = $arr[count($arr) - 1] - $arr[0];
你可以试试:
$array = array(-50 , 60 , -4 , 80 , 25, -34, 15);
$max = max($array); //80
$min = min($array); //-50
$difference = $max - $min; //130