Hi!
unset($path_array);
$path_array = array();
$path_array = explode('/', urldecode($_GET["path"]));
Diese ersten beiden Zeilen sind überflüssig. Solange der Delimiter ('/' in deinem Fall) nicht leer ist, erzeugt explode() immer ein Array und die Variable wird auch immer angelegt oder komplett überschrieben.
Wenn ich nun die URI auslese und nach "/" explode wird allerdings nur "Tipps" ausgegeben und nicht "Tipps & Tricks":
Dein geposteter Code enthält keinerlei Ausgabe, ist also nicht nachvollziehbar.
if ($path_array[count($path_array)-1] == "")
array_pop($path_array);
Wenn du überflüssige, leere Felder entfernen möchtest, so ist es einfacher, die äußeren '/' mittels trim() zu entfernen, bevor du explodierst.
Kann mir jemand sagen, woran das liegt?
Was steht wirklich in $_GET["path"]? Bitte mit var_dump() nachschauen, und wenn das vollständig ist, wie sieht deine Ausgabe aus. Dort bitte auch in die Quelltextansicht des Browsers schauen.
Lo!