Gebruik van punten?

Status
Niet open voor verdere reacties.

lusinkm

Gebruiker
Lid geworden
19 sep 2007
Berichten
79
Hallo mensen,
Ik ben net begonnen met het leren van php. Ik heb een handboek gekocht (php 5 en mysql van Arjan Burger)

In het boek staat dat punten ervoor zorgen dat een variabele aan de regel wordt toegevoegd. Dit zou er zo uit moeten zien.

echo "Welkom op mijn site ".$naam."!";

Maar in een ander ander voorbeeld kom ik dit tegen;

echo $getal1." vermenigvuldigd met ".$getal2." is ".$resultaat;

Bij $getal1. staat de punt erachter
Bij .$getall2. staat er een punt voor EN achter
Bij .$resultaat; staat de punt ervoor

Moet ik hieruit opmaken dat het niet uitmaakt waar je de punten neerzet? Waarom worden niet alle variabele tussen punten gezet? Wie weet de juiste schrijfwijze die in grotere scripts geen problemen opleveren?

Ik heb gelezen dat je voor de overzichtelijkheid van het script beter die punten kunt gebruiken, maar dat het eigenlijk niet uitmaakt omdat php hier niet zo moeilijk over doet.

Alvast bedankt voor de reacties.
Groet,
Mark
 
Die punten zijn in PHP het concatenatieteken, zie ze als een plusteken voor strings.

Het is inderdaad een goede praktijk om je variabelen niet in de string (lees: niet tussen aanhalingstekens) te gebruiken. Het is zo dat php in het ene geval wel onderscheid maakt, en in het andere niet, afhankelijk van het soort aanhalingstekens dat je gebruikt (enkele of dubbele).

Maak volgend bestand maar eens aan om dit te testen:
PHP:
<?php
$txt = "tekst";
echo "Dit is " . $txt . "<br />";
echo 'Dit is ' . $txt . '<br />';
echo "Dit is $txt <br />";
echo 'Dit is $txt <br />';
?>
 
Getal2 heeft zowel een punt ervoor als erachter, omdat ze middenin de zin staat. Om de waarde van getal2 weer te geven wordt dmv de punten tijdelijk de weergeve van de letterlijke tekst onderbroken (letterlijke tekst: ... vermenigvuldigd met ... is ...)om de variabele te tonen. Getal1 heeft geen beginnende punt, omdat ervoor geen tekst staat. Maar om daarna wel tekst te krijgen is dus wel de punt nodig. Voor resultaat geldt hetzelfde, maar dan omgekeerd.
 
Maak volgend bestand maar eens aan om dit te testen:
PHP:
<?php
$txt = "tekst";
echo "Dit is " . $txt . "<br />";
echo 'Dit is ' . $txt . '<br />';
echo "Dit is $txt <br />";
echo 'Dit is $txt <br />';
?>

Je weet dat die laatste een foutmelding gaat opleveren? :)

In principe is het makkelijk te onthouden.

Ga je van variabelen over op een string of van een string naar een variabele dan moet je een punt gebruiken om het als 1 regel te krijgen.
PHP:
echo $variabele .' string '. $variabele;
 
Ik begin het te snappen denk ik. Ik vraag me nu af hoe ik dit moet doen als er meer als 3 variabelen zijn

vb.

echo $getal1." vermenigvuldigd met ".$getal2." is ".$resultaat. " blabla ".$variabele"

$getal2 en $resulaat tussen punten omdat ze in het midden staan, en $getal1 alleen erna omdat er geen tekst voor staat en bij $variabele ervoor omdat er geen tekst meer volgt.

Ik hoop dat dit klopt.
Groet,
Mark
 
Bijna, de laatste quote hoeft niet :)
PHP:
echo $getal1 ." vermenigvuldigd met ". $getal2 ." is ". $resultaat ." blabla ". $variabele;
 
Bijna, de laatste quote hoeft niet :)
PHP:
echo $getal1 ." vermenigvuldigd met ". $getal2 ." is ". $resultaat ." blabla ". $variabele;

Als ik achter die $variabele nog tekst had gewild, dan had ik dat tussen quotes moeten zetten en niet de variabele zelf.

vb.
echo $getal1 ." vermenigvuldigd met ". $getal2 ." is ". $resultaat ." blabla ". $variabele ."deze tekst tussen quotes"

Heb ik em door?
 
Jup, alleen de ; vergeten maar daar was je gauw genoeg achter gekomen ;)
 
@Tha Devil die was ik in de haast vergeten..:rolleyes:

Maar het kwartje nu is gevallen. Het boek wat ik heb aangeschaft is best uitgebreidt, maar dit soort dingetjes staan er niet echt duidelijk in. Ik denk dat het voor de auteur zo vanzelfsprekend is dat ie het eruit gelaten heeft.

Gelukkig zijn er dit soort forums met behulpzame mensen :thumb::):thumb::)

Thx
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan