Hallo Zusammen
Folgendes Problem: ICh definiere ausserhalb meiner foreach-Schleife eine Variable $tiefejetzt.
Diese verändere ich während der Schleifendurchläufe. Damit das ganze funktioniert müsste diese Änderung global geschehen, also auch ausserhalb von foreach vorhanden sein.
Hab ein paar Sachen darüber gelesen, und meiner Meinung nach sollte es so funktionieren.
Wie ihr sicher schon vermutet, es funktioniert nicht! Das echo nach der Schleife zeigt mir immer eine 1, egal auf welcher Ebene wir uns befinden.
Hier mein PHP-Code
mein array ist so aufgebaut:
Gibt es eine Möglichkeit die Variable innerhalb der foreach-Schleife zu ändern?
MFG
derLehrling
Folgendes Problem: ICh definiere ausserhalb meiner foreach-Schleife eine Variable $tiefejetzt.
Diese verändere ich während der Schleifendurchläufe. Damit das ganze funktioniert müsste diese Änderung global geschehen, also auch ausserhalb von foreach vorhanden sein.
Hab ein paar Sachen darüber gelesen, und meiner Meinung nach sollte es so funktionieren.
Wie ihr sicher schon vermutet, es funktioniert nicht! Das echo nach der Schleife zeigt mir immer eine 1, egal auf welcher Ebene wir uns befinden.
Hier mein PHP-Code
PHP-Code:
echo '<ul class="t1">';
$tiefejetzt = 1;
foreach ($entries as $entry) {
global $tiefejetzt;
if ($entry['path'] != './Inhalt'){
if ($tiefejetzt == $entry['depth']) {
echo '<li><a href="./Startseite.php?l=' . $entry['path'] . '">' . $entry['title'] . '</a>';
echo '</li>';
}
else {
if ($tiefejetzt < $entry['depth']) {
$tiefe = "t".$entry['depth'];
echo '<li>';
echo $ausgabe = "<ul class='$tiefe'>";
$tiefejetzt = $tiefejetzt + 1;
}
elseif ($tiefejetzt > $entry['depth']) {
echo '</ul>';
echo '</li>';
$tiefejetzt = $tiefejetzt -1;
}
}
}
} echo $tiefejetzt; //Um zu testen welchen Wert die Variable nach dem jeweiligen Durchlauf hat
echo '</ul>';
PHP-Code:
$ret[] = array(
'depth' => $depth,
'path' => $path,
'title' => basename($path) //Basename gibt letzten Namensteil einer Pfadangabe zurück
);
MFG
derLehrling
Kommentar