Wert aus einem Array ermitteln - wie bekomme ich das in eine Variable ?

hiltwin

Mitglied
PHP:
$zahl[0] = 3;
$zahl[1] = 8;
$zahl[2] = 8;
$zahl[3] = 33;
$zahl[4] = 8;
$zahl[5] = 12;
$zahl[6] = 12;
$i = array_count_values($zahl);
echo "Maximal= ".max($i)."<br>";

Mit max($i) kann ich ja nun ermitteln, dass im Array $zahl die "8" am meisten vorkommt, nämlich 3x. Aber wie bekomme ich in eine Variable, dass der 3x vorkommene Wert genau der "8" entspricht, also wie ermittle ich, wie der genaue Wert des am meisten vorkommenen Elements im Array ist?

Mir raucht der Kopf, jemand den Kopf frei und einen Lösungsansatz?

Danke!
Hiltwin
 
Hi,

Am besten, du legst noch ein Array "Anzahl" an.
Dann durchläufst du mit einer foreach das Array ..

So wie hier:

PHP:
<?php

$zahl[0] = 3;
$zahl[1] = 8;
$zahl[2] = 8;
$zahl[3] = 33;
$zahl[4] = 8;
$zahl[5] = 12;
$zahl[6] = 12;

$anzahl = array();
foreach($zahl as $element => $d) {
    if(!array_key_exists($d, $anzahl)) {
        $anzahl[$d] = array();
        $anzahl[$d] = 1;
    } else {
        $anzahl[$d] += 1;
    }
}

?>

Danach sieht das Array $anzahl so aus:

Array
(
[3] => 1
[8] => 3
[33] => 1
[12] => 2
)

Grüsse,

maeg
 
Hi,

Am besten, du legst noch ein Array "Anzahl" an.
Dann durchläufst du mit einer foreach das Array ..

So wie hier:

PHP:
<?php

$zahl[0] = 3;
$zahl[1] = 8;
$zahl[2] = 8;
$zahl[3] = 33;
$zahl[4] = 8;
$zahl[5] = 12;
$zahl[6] = 12;

$anzahl = array();
foreach($zahl as $element => $d) {
    if(!array_key_exists($d, $anzahl)) {
        $anzahl[$d] = array();
        $anzahl[$d] = 1;
    } else {
        $anzahl[$d] += 1;
    }
}

?>

Danach sieht das Array $anzahl so aus:

Array
(
[3] => 1
[8] => 3
[33] => 1
[12] => 2
)

Grüsse,

maeg


Hallo maeg,

vielen Dank soweit schon mal, die Form habe ich anderweitig auch schon gefunden. Allerdings habe ich so ein neues Array, wo unterschiedliche Werte drin sind. Ich benötige aber als Endergbnis

PHP:
$daswillichwissen = 8;

Wie bekomme ich aus dem Array $anzahl also heraus, welcher [$d] die meisten Elemente hat?

Frdl. Gruss
Hiltwin
 
PHP:
$zahl[0] = 3; 
$zahl[1] = 8; 
$zahl[2] = 8; 
$zahl[3] = 33; 
$zahl[4] = 8; 
$zahl[5] = 12; 
$zahl[6] = 12; 
$i = array_count_values($zahl); 
echo "Maximal= ".max($i)."<br>"; 
echo "Wert = ".reset($i)."<br>";
 
Danke !

Das war es :-)

PHP:
$zahl[0] = 3;  
$zahl[1] = 8;  
$zahl[2] = 8;  
$zahl[3] = 33;  
$zahl[4] = 8;  
$zahl[5] = 12;  
$zahl[6] = 12;  
$i = array_count_values($zahl);  
echo "Maximal= ".max($i)."<br>";  
echo "Wert = ".reset($i)."<br>";

und daraus kann ich nun ermitteln:

PHP:
$daswillichwissen = $zahl[reset($i)];

Perfekto - allen ein schönes Wochenende!

Frdl. Gruss
Hiltwin
 
Zurück