Het boek PHP5 van Arjan Burger en Wouter Tengeler heb ik in huis.
Hier heb ik een paar vragen over:


Op bladzijde 32 staat iets over Lussen.
Laten we in een concreet voorbeeld de getallen 1 tot en met 10 eens afdrukken in de browser:
<?php
for($nr=1; $nr<=10; $nr++) {
echo $nr."<br>\n"; }
?>

Wat betekend:
++

Waarom zou je dit dubbel doen:
<br>\n
Omdat br voor de zichtbare 'enter' werkt en de \n voor een 'enter' in de broncode voor overzichtelijkhd
++ betekend dat $nr (gedefineerd als 1) word opgeteld. -- word dus minus :)

<br /> is in HTML een break, \n is een "new line" die je in de broncode ziet. Overigens, zou je beter PHP_EOL kunnen gebruiken ;-)
Wat je doet in een for loop is dat je eerst een variabele een waarde meegeeft, in dit geval 1 ($nr=1). Daarna geef je te parameter op tot hoever deze waarde mag gaan, in dit geval totdat $nr gelijk is of kleiner dan 10. De laatste parameter is de stap grote.

++ is een simpele afkorting van +1 dus i.p.v. $nr++ kan je ook schrijven $nr+1. Als je bijv. alle oneven getallen van 1 tot 9 wilt schrijven ziet je for loop er zo uit:
<?php
for($i=1; $i < 10; $i+2)
{
echo $i."<br />\n";
}
?>
Nu zullen we de getallen vanaf $i=1 totdat $i gelijk aan of groter wordt (dus tot 9.999999999999) zien met een stapgrote van 2. Dus:
1
3
5
7
9

<br /> is enter die je ziet op je webpagina. \n is een enter in e broncode. Je zou dus gewoon '<br />' kunnen doen, maar voor betere leesbaarheid in de broncode zou je beter "<br />\n" kunnen gebruiken.

Merk ook het verschil van quotes op, bij gewoon alleen pure HTML of tekst kan je het best '' (enkele quotes) gebruiken. Zodra je dingen als new line gaat gebruiken moet je "" (dubbele quotes) gebruiken, want enkele quotes laten gewoon \n zien. (dit geldt ook voor variabelen binnen quotes, wat niet aan te raden is. Je kan beter de variabelen uit de quotes halen op de manier zoals in je voorbeeld)
Bedankt voor de antwoorden.

Nu nog een vraag:
Op bladzijde 35 wordt uitleg gegeven over een string opdelen met substring. Er worden op verschillende manieren verschillende begrippen van de getallen omschreven.

Bijvoorbeeld echo ("Arjan Burger", 0, 5); // geef tekens 0 t/m 5 weer: Arjan
Hoe veel tekens zou dan het antwoord zijn? Is dat 6, en waarom?

Bijvoorbeeld echo ("Arjan burger", 6); // geef de laatste 6 tekens: Burger
Waarom betekend de 6 nu de laatste 6 tekens?

Bijvoorbeeld echo ("Dit is een voorbeeldzin.", 4, 2); // vanaf 5 t/m 7
Wat is nu de uitkomst en waarom?

Dit is het bijbehorende script:
<?php
$voorbeeld = "Dit is een voorbeeldzin";
$dit = substr($voorbeeld, 0, 3): // eerste drie tekens
$is = substr($voorbeeld, 4, 2); // vanaf 5 t/m 7
$voorbeeldzin = substr($voorbeeld, 11); // de laatste twaalf
echo $dit." ".$is." een ".$voorbeeldzin;
?>

Is dan het antwoord? Als er een cijfer achter staat, dan wordt er bedoelt de laatste x-aantal karakters. En als er twee cijfers staan, dan moet je vanaf nul tellen en niet vanaf 1, dan heb je een begin positie en een eind positie. Dus plaats 4 plus 2 is dus karakter 5 t/m 7.
correct?
Neem even een kijkje in de officiele PHP documentatie, die is heel helder en heel leerzaam :)
http://nl3.php.net/manual/en/function.substr.php

De eerste parameter is de tekst.
De tweede parameter is de beginpositie, waarvan 0 het eerste karakter is.
De derde parameter is de hoe ver hij verder moet tellen (dus niet de positie van het eind).

Reageren