2017-09-30 1 views
0

Ich habe eine Reihe von Kanälen, so weit ich weiß, wie Min- und Max-Werte wie folgt zurück:PHP Medianwert von Array finden und Schlüssel und Wert zurückgeben?

// clear from any empty channels 
$channels = array_filter($scan['channels']); 

// get min/max values 
$min = array_keys($channels, min($channels)); 
$max = array_keys($channels, max($channels)); 
// this returns the channel name wich is what I need 

Bisher würde ich die mittlere Taste (Kanal) Namen bekommen möchte, wie kann ich dies erreichen ?

// this is the array of channels 
Array 
(
    [chann_1] => 155.755 
    [chann_2] => 154.61 
    [chann_3] => 156.719 
    [chann_4] => 156.727 
    [chann_5] => 155.797 
    [chann_6] => 157.615 
    [chann_7] => 154.257 
    [chann_8] => 151.724 
    [chann_9] => 156.549 
    [chann_10] => 156.594 
    [chann_11] => 157.56 
    [chann_12] => 156.405 
) 
+0

wollen Sie den Durchschnitt aller Ritus Werte? und wenn ja als array_sum ($ channels)/count ($ channels) –

+0

Gott, Durchschnitt ist das gleiche wie Median, lol, lassen Sie mich versuchen, dass –

+0

, aber ich brauche nicht den Wert, sondern den Schlüssel (Kanal) Name, keine Ideen ? –

Antwort

1

Try this :.

Sortieren Sie das Array.
Holen Sie sich die Array-Schlüssel.
Dann die Hälfte der Anzahl der array_keys ist der Medianwert. (Ich fügte nur für den Fall hinzu).

$arr = Array(
"chann_1" => 155.755, 
"chann_2" => 154.61, 
"chann_3" => 156.719, 
"chann_4" => 156.727, 
"chann_5" => 155.797, 
"chann_6" => 157.615, 
"chann_7" => 154.257, 
"chann_8" => 151.724, 
"chann_9" => 156.549, 
"chann_10" => 156.594, 
"chann_11" => 157.56, 
"chann_12" => 156.405); 

Arsort($arr); 
//Var_dump($arr); 
$keys = array_keys($arr); 
Echo $keys[round(count($keys)/2)]; 

https://3v4l.org/ER3d4

0

Verwenden Sie array_search(). $max_key=array_search($max,$yourArray);$min_key=array_search($min,$yourArray);$median=$max_key+$min_key/2; hängt natürlich von Ihrer Array-Größe ab.

Versuchen $median=array_search($max+$min/2,$yourArra);

+0

Ich brauche den Media Key nicht Wert –

+0

array_search() gibt den Schlüssel eines Wertes zurück. –

+0

Ich habe meine Antwort bearbeitet. Prüfen Sie. –

Verwandte Themen