2015-11-01 21 views
6

Esempio:Come trovare medio da array in php?

$a[] = '56'; 
$a[] = '66'; 
$a[] = ''; 
$a[] = '58'; 
$a[] = '85'; 
$a[] = ''; 
$a[] = ''; 
$a[] = '76'; 
$a[] = ''; 
$a[] = '57'; 

realtà come trovare valore medio da questa matrice esclusi vuoto. per favore aiuta a risolvere questo problema.

+0

Cosa hai provato? Avete problemi che calcolano un numero medio di attuazione o in PHP? – JimL

risposta

15

Per prima cosa è necessario rimuovere vals vuoti, altrimenti la media non sarà accurata.

così

$a = array_filter($a); 
$average = array_sum($a)/count($a); 
echo $average; 

DEMO

+2

Tenete a mente che si dovrebbe innanzitutto verificare per garantire count() è positivo, altrimenti si otterrà una divisione per zero errore –

0
echo array_sum($a)/count(array_filter($a)); 
+0

devi fare count (array_filter ($ a)) al fine di non includere i valori vuoti. – JimL

+0

@JimL appena notato che. Correggerà a breve. –

4

La risposta accettata lavora per i valori di esempio, ma in generale semplicemente utilizzando array_filter($a) non è probabilmente una buona idea, perché sarà filtrare tutti i valori effettivi pari a zero così come stringhe di lunghezza zero.

Anche '0' restituisce false, così si dovrebbe utilizzare un filtro che esclude esplicitamente stringhe di lunghezza zero.

$a = array_filter($a, function($x) { return $x !== ''; }); 
$average = array_sum($a)/count($a);