jojo: Anzahl der Werte eines Arrays zählen

Beitrag lesen

Gut, danke für die drei Posts. Ich habe jetzt folgendes probiert:

$n = 100;  
$r = 1;  
  $rang = array();  
foreach($_POST['name'] as $key => $number)  
{  
  if($number == $n)  
  $name[$key] = $r;  
  
 } else {  
  
 $zahl = 0;  
 foreach ($key as $key2 => $val)  
    {  
        if (isset($val[$r]) and !is_array($val[$r]))  
        {  
   echo 'Hier folgt val und r '.$val[$r].'';  
            if ($val[$r] == $r)  
            {  
               $zahl++;  
      echo 'Das hier ist zahl '.$zahl.'';  
            }  
        }  
        else  
        {  
            echo 'No, is not';  
        }  
    }  
  $r = ($r + $zahl);  
  while($number != $n) $n--;  
  $name[$key] = $r;  
 }  
 echo ''.var_dump($name).'<br>';  
}  
}

Heraus bekomme ich:

Warning: Invalid argument supplied for foreach()  
array(1) { [Hans]=> int(1) }  
This is direct: 1array(2) { [Hans]=> int(1) [Thomas]=> int(1) }  
  
Warning: Invalid argument supplied for foreach()  
array(3) { [Hans]=> int(1) [Thomas]=> int(1) [Dieter]=> int(1) }  
This is direct: 1array(4) { [Hans]=> int(1) [Thomas]=> int(1) [Dieter]=> int(1) [Johannes]=> int(1) }  
  
Warning: Invalid argument supplied for foreach()  
array(5) { [Hans]=> int(1) [Thomas]=> int(1) [Dieter]=> int(1) [Johannes]=> int(1) [Ulf]=> int(1) }  
  
Warning: Invalid argument supplied for foreach()  
array(6) { [Hans]=> int(1) [Thomas]=> int(1) [Dieter]=> int(1) [Johannes]=> int(1) [Ulf]=> int(1) [Tom]=> int(1) }

Wird immer länger. $r sollte dabei eigentlich immer größer werden :\

Wo liegt der Fehler?