缩小使用 sort() 函数的 PHP 代码

Minifiy a PHP code that uses the sort() function

我有这个功能,我想把它放在一行中,但我不知道如何在同一行中实现 sort()。

# 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.

您可以在条件中包含 sort() 方法 returns 布尔值,在这种情况下,一旦排序的数组保持排序。

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;
}