找出数字之间最大的差别


find the biggest difference between numbers

我有从-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