Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 数组中两个值之间的最大/最大差值_Php_Arrays - Fatal编程技术网

Php 数组中两个值之间的最大/最大差值

Php 数组中两个值之间的最大/最大差值,php,arrays,Php,Arrays,所以,我需要找出索引数组中任意两个随机值之间的最大可能差,我不确定我的答案是否正确,因为你知道这对于这个问题的权重来说太简单了: function($array) { asort($array); $diff = $array(sizeof($array) - 1) - $array(0); return $diff; } 我相信这是正确的,然后我总是有我的怀疑 你是对的,你会发现最大的差异是最大值和最小值之间的差异。但是,您可以通过简单地扫描数组以查找最小值和最大值而无需排序来更有

所以,我需要找出索引数组中任意两个随机值之间的最大可能差,我不确定我的答案是否正确,因为你知道这对于这个问题的权重来说太简单了:

function($array)
{
 asort($array); 
 $diff = $array(sizeof($array) - 1) - $array(0);
 return $diff; 
}

我相信这是正确的,然后我总是有我的怀疑

你是对的,你会发现最大的差异是最大值和最小值之间的差异。但是,您可以通过简单地扫描数组以查找最小值和最大值而无需排序来更有效地实现这一点(O(N)而不是O(N log N))。

为了了解逻辑,这里有一种手动方法:

$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;
$myarray=array(
'此'=>2,
“那”=>14,
“他们”=>-5,
“其他”=>200,
“没什么”=>42,
“somethingelse”=>1,
“你”=>10,
“我”=>30);
foreach($myarray作为$key=>$value){
如果(!isset($min)| |$value<$min){$min=$value;}
如果(!isset($max)|$value>$max){$max=$value;}
}
$diff=$max-$min;
echo$diff;

“任意两个随机值之间的最大可能差值”?这里的“随机”有点奇怪。听起来很像
max($arr)-min($arr)
…?您不是在使用数组,而是在调用变量函数。数组使用
[]
,而不是
()