Foreach-Schleife - interner Zeiger

Trash

Erfahrenes Mitglied
Hallo,
ich habe ein merkwürdiges Problem. Ich habe eine Foreach-Schleife und ich möchte Zählen, wie oft diese durchlaufen wird und der wievielte Durchlauf gerade stattfindet:

PHP:
$i = 0;
			foreach ($cityArray as $value) {
					
				$slugValue = get_tag_slug($value);

				if (count(get_posts('tag='.$slugValue.'')) > 0) {
				
				if ($i = 0 || $i = $noForNewUl) {
					$returnValue .= "<ul class=\"sub\" style=\"margin-left:10px;\">";
				}
					echo "i1 ".$i."<br/>";
				
					$returnValue .= "<li><a href=\"".BASEPATH."/".$slugValue."\">".$value."</a></li>";
					
				if ($i = 0 || $i = $noForNewUl) {
					$returnValue .= "</ul>";
				}
				$i++;		
				}//if
				
				
						
			}//foreach

Das merkwürdige ist, "i1" ist immer 1. Es sei denn ich schreibe den echo Befehl hierhin: Wie kann da ssein und gibt es evtl. eine andere Möglichkeit auf eine interne Zählvariable zuzugreifen?

PHP:
	if (count(get_posts('tag='.$slugValue.'')) > 0) {
				echo "i1 ".$i."<br/>";
				if ($i = 0 || $i = $noForNewUl) {
					$returnValue .= "<ul class=\"sub\" style=\"margin-left:10px;\">";
				}
 
Hi, ändere
PHP:
if ($i = 0 || $i = $noForNewUl) {
zu
PHP:
if ($i == 0 || $i == $noForNewUl) {
dann klappts auch mit dem Nachbarn.
Bei deiner ursprünglichen Variante setzt du $i quasi jedesmal auf 0 zurück.
Bei Vergleichen mit = müssen immer 2! Zeichen stehen == | <= | >= | !=

mfg aGeNET
 
Zurück