Hallo.
Ik heb nu zelf 'PHP4 zonder stress'. Handig boek maar ze behandelen variabelen en variabele variabelen niet zo uitgebreid (vind ik). Ik vind het nog niet duidelijk genoeg en snap het dus niet.
Dit geldt ook voor Arrays.
Weet iemand een goede uitgebreide tutorial waar ze alles in uitleggen en e.v.t (dat zou het mooiste zijn) enkele problemen behandelen die voor kunnen komen.
De tutorial van SiteMasters vind ik ook niet niet heel uitgebreid. Dus dat snap ik nog niet goed.
Ja dat snap ik. Wacht effe. Ik zal zsm effe iets scannen uit het boek wat ik niet begrijp.
Check: http://www.computermasters.nl/overige/variabelen
Vanaf: $var1 = 'Hallo';
TOT
Constanten.
Hoe kan je ineens van $var1 = 'Hallo';
$hallo maken? Ik zou graag meer uitleg willen weten over dit stukje.
Je hebt dus een blad papier. Je kan dat blad papier een naam geven, zodat je het later makkelijker terugvindt tussen je ander papier.
Ik neem een blad papier, noem het 'naam' en schrijf er 'Murfy' op:
<?php
$naam = 'Murfy';
// Dit is een gewone variabele dus
?>
<?php
$naam='Murfy';
// Dit is een gewone variabele dus
?>
Maar nu wil ik meer dan 1 naam gaan bijhouden, en $naam1, $naam2 vind ik geen zo'n goede naam.
Ik neem dus een map, waar ik dan allemaal blaadjes kan in stoppen.
Ik schrijf 'namen' op m'n map, en ik nummer alle bladzijden.
<?php
$namen = array();
$namen[] = 'Murfy':
$namen[] = 'svm';
// Dit zijn arrays
// Met [ ] duidt je aan dat hij de volgende key neemt, oftewel dus bladzijde
?>
// Met [ ] duidt je aan dat hij de volgende key neemt, oftewel dus bladzijde
?>
Nu wil ik echter een map met voornamen en achternamen. Ik kan dit oplossen door in plaats van m'n pagina's een nummer te geven, de pagina's naar de naam te noemen, en dan de voornaam erop te schrijven.
echo'Mijn voornaam is '.$namen['Murfy'][0].', en m\'n achternaam is '.$namen['Murfy'][1];
?>
Je ziet dat ik hier niet m'n typ, maar m\'n. Reden:
als ik m'n zou typen, zou PHP denken dat ik klaar ben met m'n echo. Als dat zo zou zijn, dan zou die "n achternaam.." erna niet correct zijn (geen functie etc), en dit dus errors geven. Door een backslash (\) voor die ' te zetten, duiden we aan dat hij dit letterlijk moet op het scherm zetten en het niet 'interpreteren'.
_______________________ Uitleg over het stukje dat je niet snapt:
Een variabele wijs je toe met
$blaat = 'zooi'.
Als ik nu dus wil een variabele maken, die heet zoals de waarde van $blaat, dan zou ik dus dit moeten doen:
$[de_waarde_van_$blaat] = 'iets';
Maar hoe bekom je die waarde? Simpel, das gewoon $blaat.
Dus $$blaat = 'iets';
Je kan hetzelfde doen met functies.
Stel je dat je ofwel de functie doeIets of doeNiets moet gebruiken.
Je hebt een stukje code die bepaalt welke functie er moet gebruikt worden, aan de hand van een aantal voorwaarden en zo, en dan is het resultaat in het ene geval
$gebruikFunctie = 'doeNiets';
en in het andere
$gebruikFunctie = 'doeIets';
Hoe gebruik je nu de functie als je niet op voorhand kan weten welke het zal zijn? Simpel
$gebruikFunctie(hier dan de parameters van de functie);
<?php
$naam = "Martijn"; // Tekst tussen ""
$leeftijd = 17; // Getallen niet tussen ""
$volgendjaar = $leeftijd + 1;
echo $naam ." is volgend jaar ". $volgendjaar ." jaar oud!";
?>
<?php
$naam="Martijn";// Tekst tussen ""
$leeftijd=17;// Getallen niet tussen ""
$volgendjaar=$leeftijd+1;
echo$naam." is volgend jaar ".$volgendjaar." jaar oud!";
?>
omg, Murfy dat was een mooie uitleg
Alleen dit is zonde :
Citaat:
Je ziet dat ik hier niet m'n typ, maar m'n.
[..code..]
Ja, en dan gaan ze HTML ook 'gewoon zo' echo'en, en moeten ze tienduizend keer backslashen. Als hij een boek voor PHP beginners aan het leren is zie je dat hij het dus nog niet weet, en kan je hem beter gelijk de goeie methode aanleren.
Kunnen de mensen die niet weten waarover ze het hebben aub gewoon niks zeggen in plaats van hem enkel in de war te posten en zooi te vermelden waar een beginner niks aan heeft?
Maar ik raad je toch aan enkele quotes te gebruiken, ook al doen ze het in het boek anders
Want als je dan HTML in een variabele wilt stoppen, zul je iedere " die er in voorkomt moeten voorafgaan door een \, terwijl je dat bij een enkele quote niet moet doen (omdat: zie m'n lange post).
En Martijn, je zult je erin verbazen als je ziet hoeveel mensen 1 keer dubbele quotes gebruiken en het dan ALTIJD doen, of het nu HTML is en gewone tekst.
Aangezien de kans dat je HTML echo'ed groter is dan dat je zinnen met ' gaat echo'en, gebruik je dus betere enkele quotes, het vertraagt niks aan het parsen en het is idiot proof 'Ik ben $naam' geef 'Ik ben $naam' en niet 'Ik ben Murfy' zoals bij enkele quotes.
^ BAD
Maar ik raad je toch aan enkele quotes te gebruiken, ook al doen ze het in het boek anders
Want als je dan HTML in een variabele wilt stoppen, zul je iedere " die er in voorkomt moeten voorafgaan door een , terwijl je dat bij een enkele quote niet moet doen (omdat: zie m'n lange post).
Daarom moet je dan ook gewoon dit doen :
$naam = "<font face='Verdana'>Tekst</font>";
dat staat netter dan allemaal \' of \"
Citaat:
Edit:
Ok zal ik doen (Enkele quotes) en getal buiten quotes.
Slaat nergens op, dubbele quotes gebruiken is veel beter.
Fieuw gelukkig .
Zie mijn post hierboven /\ voor de edit.
Edit:
Oja kan ook maar als ze velden gaan invullen dan kan je zoiets doen. Maar het is toch allebei mogelijk of niet of gaat het script dan tragen lopen ofzo?
Dus dan moet je WEL gaan escapen in echo's met dubbele quotes, dus is het WEL beter om enkele quotes te gaan gebruiken, en omdat een normaal scripter/programmeur een vaste gewoonte aanneemt en niet gaat afwisselen tussen dubbel of enkel, gebruik je gewoon enkele.
single quotes is altijd beter om de reden die murfy noemt, dus ook om te voorkomen dat men variabelen binnen een quote gaan gebruiken. Mocht dit om een of andere reden wel nodig zijn (vars in quotes) dan zul je wel dubbele quotes moeten gebruiken. En om het netter te houden is dit ook slim { }
<? echo 'Hallo ik heet&nnbsp;' .$naam. ',' .$achternaam. 'en ik ben&nspb;' .$leeftijd. 'jaar. Ik woon in&nspb;' .$woonplaats. 'en mijn hobbys zijn&nspb;' .$hobbys; ?>
<?echo'Hallo ik heet&nnbsp;'.$naam.','.$achternaam.'en ik ben&nspb;'.$leeftijd.'jaar. Ik woon in&nspb;'.$woonplaats.'en mijn hobbys zijn&nspb;'.$hobbys;?>
Maar nu heb ik tussen Naam en Achternaam nog niks staan.
Of is dat een andere code in php om een spatie te krijgen.