php.de

Zurück   php.de > Webentwicklung > PHP Einsteiger > PHP Tipps 2004-2

 
 
LinkBack Themen-Optionen Thema bewerten
Alt 15.12.2004, 16:52  
Benutzer
 
Registriert seit: 08.09.2004
Beiträge: 67
tikal
Standard foreach Fehlermeldung

Hallo,
ich habe ein Menu und eine Navigation erstellt mit folgendem Code
Code:
<?
$menu = array ( 
"home" => "Homepage", 
"main1" => array ("sub1.1" => "www.abc.com",
	"sub1.2" => "www.abc.com",
	"sub1.3" => "www.abc.com",
	"sub1.4" => "www.abc.com"),			
"main2" => array ("sub2.1" => "www.abc.com",
	"sub2.2" => "www.abc.com",
	"sub2.3" => "www.abc.com"),			
"main3" => array ("sub3.1" => "www.abc.com",
	"sub3.2" => "www.abc.com", 
	"sub3.3" => "www.abc.com"),
); 

echo'<ul>';
foreach($menu as $key => $value) 

{if ($_GET['page']=="$key")
 	   {echo'[*]'.ucfirst($key).'
';}	  
    else
	   {echo'<li">'.ucfirst($key).'
';}	

if (isset($_GET['page']) AND ($_GET['page'] == "$key") )

	{if (is_array($value)) 
	 
	echo'<ul>';
		{foreach($value as $key2=>$value2)			              
			{if (isset($_GET['page']) AND ($_GET['submenu'] == $submenu) )
				{echo'<li">'.ucfirst($key2).'
';}
			}
	echo'[/list]'; 
		} 
	} 
}  echo'';
echo'[/list]';
?>
Bei den Hauptmenus, die ein Untermenu haben, klappt es auch gut.
Nur bei home kommt logischerweise diese Fehlermeldung
Warning: Invalid argument supplied for foreach() in /srv/www/htdocs/webs/Nav1.php on line 37
{foreach($value as $key2=>$value2)
da home kein key2 und value 2 besitzt.
Ich komme aber nicht drauf, wie ich diese entsprechende Abfrage ändern kann, damit sie für alle Mainpunkte fehlerfrei läuft.
__________________
Danke
Tina
tikal ist offline  
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Alt 15.12.2004, 17:03  
Gast
 
Beiträge: n/a
Standard

ein Link:


http://tut.php-q.net/recursion.html
3. Ausgabe eines Verschachtelten Arrays

Dort findest du ein schönes Muster.

mfG -dilemma-
 
Alt 15.12.2004, 17:19  
Benutzer
 
Registriert seit: 08.09.2004
Beiträge: 67
tikal
Standard

danke, aber leider verstehe ich nun nicht, wie ich das mit meinem MenuArray kombinieren soll
Kannst Du mir nochmal helfen
__________________
Danke
Tina
tikal ist offline  
Alt 15.12.2004, 17:45  
Gast
 
Beiträge: n/a
Standard

Hi,

ich glaub ich hab die Stelle gefunden an der es schief geht (aber ich habs nicht probiert ):

Code:
foreach($menu as $key => $value)

{if ($_GET['page']=="$key")
       {echo'[*]'.ucfirst($key).'
';}    
    else
      {echo'<li">
Ich glaube das Anführungszeichen da passt nicht, aber das hat noch nix mit dem Fehler zu tun, fiel mir nur auf

Code:
'.ucfirst($key).'
';}   

if (isset($_GET['page']) AND ($_GET['page'] == "$key") )

   {if (is_array($value))
   
   echo'<ul>';
Das ist die Stelle: Wenn $value ein Array ist schreibt er ein <ul> - und das wars für ihn, nach seiner Meinung. Wenn du also die geschweifte Klammer, die vor dem folgenden Foreach steht, vor das echo ziehst, sollte es funktionieren.
Code:
      {foreach($value as $key2=>$value2)                      
         {if (isset($_GET['page']) AND ($_GET['submenu'] == $submenu) )
            {echo'<li">'.ucfirst($key2).'
';}
         }
   echo'[/list]';
      }
   }
}  echo'';
echo'[/list]';
Schönen Gruß
Michael
 
 


Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an
Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
foreach equivalent aber mit Datenmanipulation Matt PHP Tipps 2008 2 26.02.2008 16:47
Lambda-Funktion und array_map/_filter gegen foreach KingCrunch PHP Tipps 2007 5 29.04.2007 10:28
Fehlermeldung umbenennen Soese PHP Tipps 2007 3 13.03.2007 13:33
foreach verändert die werte des arrays das durchlaufen wird Crypi PHP Tipps 2007 5 10.01.2007 08:24
script läuft und funktioniert gibt aber fehlermeldung aus? Promaetheus PHP Tipps 2006 5 12.09.2006 23:42
foreach mit zwei übergebenen Arrays ? [erledigt] horstenpeter PHP Tipps 2006 1 03.09.2006 16:47
Fehlermeldung bei foreach seven-12 PHP Tipps 2007 5 21.11.2005 14:15
$_FILES mit foreach() PHP Tipps 2005-2 5 20.10.2005 10:27
Fehlermeldung PHP Tipps 2005-2 2 04.09.2005 04:04
Ich will Fehlermeldung vermeiden. Zero.exe PHP Tipps 2005-2 2 02.08.2005 13:11
fragwürdige Fehlermeldung PHP Tipps 2005 5 19.05.2005 15:45
foreach: Übergabe by reference Stümper PHP Tipps 2005 2 15.02.2005 15:35
Script bei Strato mit Fehlermeldung, bei Netbeat ok PHP Tipps 2004-2 14 08.12.2004 11:08
imap / foreach-Schleife: unerklärliche Fehlermeldung PHP Tipps 2004 6 28.06.2004 00:47
foreach problem mAy^daY PHP Tipps 2004 3 02.06.2004 20:29

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
foreach($menu

Alle Zeitangaben in WEZ +2. Es ist jetzt 23:53 Uhr.




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum

Creative Commons License
Dieser Inhalt ist unter einer Creative Commons-Lizenz lizenziert.