Help MVC
Velen zullen wel begrijpen wat dit is, dus ik ga er verder niet op in.
Ik ben begonnen met een tutorial (Lang leve de tutorials!)
Dit is een stukje van een model uit de tutorial
Quote:
return array(
"Jungle Book" => new Book("Jungle Book", "R. Kipling", "A classic book."),
"Moonwalker" => new Book("Moonwalker", "J. Walker", ""),
"PHP for Dummies" => new Book("PHP for Dummies", "Some Smart Guy", "")
);
"Jungle Book" => new Book("Jungle Book", "R. Kipling", "A classic book."),
"Moonwalker" => new Book("Moonwalker", "J. Walker", ""),
"PHP for Dummies" => new Book("PHP for Dummies", "Some Smart Guy", "")
);
Nou heb ik een while loop gemaakt om pagina's in een array te stoppen
Quote:
while ($pageR = mysql_fetch_object($pagesQ))
{
$pagename = $pageR->page_name;
$pagetitle = $pageR->page_title;
$pagecontent = $pageR->page_content;
array_push($PagesArray, $pagename = new Page($pagename,$pagetitle,$pagecontent));
}
return $PagesArray;
{
$pagename = $pageR->page_name;
$pagetitle = $pageR->page_title;
$pagecontent = $pageR->page_content;
array_push($PagesArray, $pagename = new Page($pagename,$pagetitle,$pagecontent));
}
return $PagesArray;
Nou werkt dit wel.. Maar volgens de return uit de tutorial, kan ik mbv een string (in dit geval titel bijv. "Jungle Book", de waardes oproepen)
Maar in mijn geval, lukt t niet om bijv via $PagesArray("index") waardes te vinden, hoewel de waardes wel opgeslagen zijn, maar met de numerieke key's. Want op $PagesArray(0) krijg ik wel de waardes van m'n index pagina etc.
Weet iemand hoe dit kan gebeuren, en hoe ik dit kan oplossen? Ik zit hier al een week mee in de maag en wil t graag rond hebben
RADELOOS!!!
Gewijzigd op 28/11/2012 19:47:47 door Dennis WhoCares
Om dit te doen moet je gewoon de key opslaan in de array, zoals je met elke normale array zou doen: uitleg
Hoe je dit in het vervolg zelf kunt oplossen
Je kunt kijken met var_dump hoe een array/object/variabele er precies uitziet, zodat je kan zoeken waar het probleem ligt.
Zodra je de plek van het probleem hebt gevonden kijk je in de documentatie naar de functie die je daar gebruikt: array_push Daar lezen we (en zien we in de voorbeelden):
Quote:
The length of array increases by the number of variables pushed.
Wouter J op 27/11/2012 22:12:36:
Allereerst is het $PagesArray['index'] en $PagesArray[0]. Je pusht ze in een array, die pakt gewoon telkens een volgend cijfer. Het '$pagename = new Page(...)' goede zorgt er alleen voor dat je new Page(...) in de $pagename variabele opslaat, die je telkens weer overschrijft, het geeft dus niks aan van de key.
Dat is t dus, zoals in de tutorial geeft ie als key de titel waar die drie waardes aan toevoegt
Titel=>new book(waarde,waarde,waarde)
Maar als ik dit in de loop zet $pagename => waarde,waarde,waarde
Dan krijg ik double arrow foutmelding
Ik begrijp nu ik er met een heldere gedachte naar kijk dat ie de new page met de waardes opslaat als pagename.
Maar ik wil dit tzelfde als de tutorial, dat de pagename dus de key wordt en geen numerieke key.
Is dit mogelijk? Of zal ik een lange string generen en vervolgens return array($destring) doen?
Gewijzigd op 28/11/2012 09:07:05 door Dennis WhoCares