KD-one: Und schon sind sie da, die ersten Problemchen... :-)

Beitrag lesen

Hallo Sven,

Das verstehe ich nicht. Was meinst du damit?

Du hast zweimal Switch und dazwischen etwas IF.

switch ($count)
...
if ($count)
if ($count)
switch ($count)

An allen Stellen trennst du nach immer denselben drei Fällen (Werte 2, 3 oder 4 für $count). Da "dazwischen" nichts passiert, was in allen drei Fällen gemeinsam passiert, kannst du deine Trennung auch in genau einem Switch unterbringen.

Ach so, du meintest in der Art?

switch($count)
 {
  case 2:
         $temp = $intermediate[0];
        echo  $temp." » ".$title;
         break;
  case 3:
         $temp = $intermediate[0];
         $path = strtoupper($intermediate[1]);
        echo $temp." » ".$path." » ".$title;
         break;
  case 4:
         $temp = $intermediate[0];
         $path = strtoupper($intermediate[1]);
         $subpath = strtoupper($intermediate[2]);
        echo $temp." » ".$path." » ".$subpath." » ".$title;
         break;
 }

Ich habe die if-Abfrage folgendermaßen abgeändert, und so funktioniert es:

if ($i < count($pfad)-1)

In dieser Konfiguration wird beim letzten Teil auf else verzweigt.

Der typische "off by one"-Fehler. War ja klar, ich baue gerne Fehler ein, die absolut unscheinbar sind. Aber du warst gewarnt. :)

Ja, wobei mich die Zählweise von count() nun doch etwas überrascht hat und ich einige Zeit brauchte, um auf die Lösung zu kommen. ;-)
Die Logik dahinter ist mir nicht ganz klar.
Danke dir!

Gruß

Kurt

--
"Arm ist nicht der, der wenig hat, sondern der, der nicht genug bekommen kann."  (Jean Guéhenno; fr. Paedagoge, Kritiker u. Schriftsteller; 1890-1978)
http://elektro-dunzinger.at
http://shop.elektro-dunzinger.at