一个使用sort()函数的PHP代码。

问题描述 投票:0回答:1

我有一个函数,我想把它放在一行,但我不知道如何能在同一行实现排序()。

# Mediana x̃    de un conjunto de elementos ($e)
Mediana($e=array()){    
  sort($e); 
  return (count($e)!=0)?((count($e)%2==0)?(($e[(count($e)/2)]+$e[((count($e)/2)+1)])/2):$e[((count($e)/2)+1)]):0;
}

我不喜欢(美学上说的)这种肮脏的方式。

sort($e); return (count($e)!=0)?((count($e)%2==0)?(($e[(count($e)/2)]+$e[((count($e)/2)+1)])/2):$e[((count($e)/2)+1)]):0;

如果有人能给我一些提示,我会很感激的.Tnx.

php minify
1个回答
1
投票

你可以包括 sort() 这样方法就会返回布尔值,一旦排序后数组就会保持排序状态。

function Mediana($e = array())
{
    return (count($e) != 0 && sort($e)) ? ((count($e) % 2 == 0) ? (($e[(count($e) / 2)] + $e[((count($e) / 2) + 1)]) / 2) : $e[((count($e) / 2) + 1)]) : 0;
}

或者

function Mediana($e = array())
{
    return (sort($e) && count($e) != 0) ? ((count($e) % 2 == 0) ? (($e[(count($e) / 2)] + $e[((count($e) / 2) + 1)]) / 2) : $e[((count($e) / 2) + 1)]) : 0;
}
© www.soinside.com 2019 - 2024. All rights reserved.