Ik heb in de tutorial gelezen dat explode een string split bij het opgegeven teken.

Ik heb volgende code:

<?
$inhoud = "Beste $contact-begroeting$ $contact-familienaam$ $contact-voornaam$

Mijn naam is Blabla.

$contact-Activatie$
";
$data = explode('$',$inhoud);
$n = count($data);
for($i=0;$i <= $n;$i++)
{
echo $data[$i]."<br>";
}

?>

Waarom krijg ik volgende output:
Beste -begroeting
-familienaam
-voornaam
Mijn naam is Blabla. -Activatie

En niet:
Beste
contact-begroeting
contact-familienaam
contact-voornaam
Mijn naam is Blabla.
contact-Activatie

Is het ook mogelijk om volgende output te verkrijgen:
contact-begroeting
contact-familienaam
contact-voornaam
contact-Activatie

Dus enkel wat tussen de $ tekens staat.



Alvast hartelijk bedankt voor jullie hulp
Maak van die dubbele quotes eens een enkele.... (" => ')
Zie het verschil ook op php.net: [php]string[/php].
Omdat je dubbele quotes (") gebruikt word $contact telkens als een variabele gezien, en omdat daar niks in staat, wordt daar een lege waarde voor gezet.
Super

Kun je mij even uitleggen wat het verschil dan is tussen die enkele en dubbele quotes?

Ik heb het al zo vaak gemerkt dat er een verschil is, maar toch snap ik het niet.
Ok bedankt voor de uitleg Door

Ondertussen heb ik de oplossing gevonden:

<?
$inhoud = 'Beste $contact-begroeting$ $contact-familienaam$ $contact-voornaam$

Mijn naam is Blabla.

$contact-Activatie$
';
$data = explode('$',$inhoud);
$n = count($data);
for($i=1;$i <= $n;$i+=2)
{
echo $data[$i]."<br>";
}

?>
Bij enkele quotes hoef je voor dubbele quotes geen \ te zetten, maar variabelen kun je er niet inzetten.
Bij dubbele quotes kun je bijvoorbeeld zo:
<?php
$var = "OMFG";
echo "bla 'bla' bla $var";
?>
doen. Maar voor dubbele quotes moet je dan wel een \ zetten. Dus zo:
<?php
echo "Dubbele quotes: \"Test\"";
?>
Robin Demey schreef op 29.08.2008 21:23
Kun je mij even uitleggen wat het verschil dan is tussen die enkele en dubbele quotes?

Karl schreef op 29.08.2008 21:20
Zie het verschil ook op php.net: [php]string[/php].
Dat moet zijn

for($i=1;$i < $n;$i+=2)

data[$n] bestaat niet.

Reageren