[PHP] merkwürdige ausgabe auf count();

NetCrack

Lieutenant
Registriert
Okt. 2001
Beiträge
603
PHP:
<?php
error_reporting(E_ALL);

$a = 0;
$zahl = 2;
$test = array();
$prims = array("2", "3");

while ($zahl <= 50) {

       while (count($prims) !=  $a) {

              $temp = $zahl/$prims[$a];
              $temp2 = number_format($temp, 0);

              if ($temp != $temp2) {
                  $test[] = $temp;
              }
              $temp3 = count($prims);
              $temp3--;

              if (count($test) == $temp3) {
                  $prims[] = $zahl;
              }

              $a++;
       }

       $zahl++;
}

function read_array($array) {

$array_length = count($array);
$array_length--;

$a = 0;
$string = "";

while ($a <= $array_length) {
$string .= "$a.: <b>".$array[$a]."</b><br>";
$a++;
}
return($string);

}

echo "<br><br><br>Divsisoren:<br>";
echo read_array($test);
echo "<br><br><br>Prims:<br>";
echo read_array($prims);

?>

Warum gibt er bei count($test); 011 aus obwohl nur $test[0] belegt ist ?!?
 
also ich erhalt folgende Ausgabe:

Divsisoren:
0.: 0.666666666667



Prims:
0.: 2
1.: 3
2.: 2

mir ist das jetzt mit ein paar Bier zu kompliziert, mir den Verlauf da anzuschauen ;)
 
Was soll diese Konstruktion denn darstellen?
Hier hat sicher keiner Bock sich in deinen nichtkommentierten Code einzuarbeiten.
Schreib ein paar Zeilen dazu, was du erwartest und was dabei eigentlich rauskommt.

Btw: Schau dir mal die for-Schleifen an. Damit kannst wesentlich kompakteren Code schreiben, der auch noch leichter zu verstehen ist.

Gruß Erazor
 
Zurück
Oben