Phpsources Forums

Vous n'êtes pas identifié.

#1 20-03-2008 11:06:25

Xiombarg
Nouveau membre
Date d'inscription: 20-03-2008
Messages: 2

Tutorial de Mathieu Gringer - Question

Bonjour

je suis en train de suivre le tutorial de Mathieu Gringer en tant que parfait débuttant en php, tout est parfaitement clair jusqu'à cette ligne :

<?php

$addition = 2 + 4;
echo "Addition: 2 + 4 = ".$addition."<br />";

?>

Même sachant que "." est un opérateur de concaténation, je n'arrive pas à comprendre pourquoi nous devons avoir ".$addition." avec un point au début et un a la fin.... ??? hmm


merci de vos éclairages sur ce point ultra basic ... ^_^

Xiom

Hors ligne

 

#2 20-03-2008 14:43:37

KOogar
Administrateur
Date d'inscription: 21-12-2007
Messages: 325
Site web

Re: Tutorial de Mathieu Gringer - Question

Bonjour et welcome sur PhpSources

ce n'est que du parsing dans ce cas, pas de la concatenation bien que l'on puisse concatener et parser en même temps :

$var = 2+4;
// concatene + parse
echo "".$var.""."<br />\n";
// concatene
echo $var."<br />\n";

/* affiche
6
6
*/

des exemples de parsing :

$var = 2+4;

echo $var;
echo '<br />';
echo "$var";
echo '<br />';
echo "".$var."";
echo '<br />';
echo ''.$var.'';
echo '<br />';
echo '',$var,'';
echo '<br />';
echo "$var"."<br />\n";

/* affiche

6
6
6
6
6
6

*/

Nous aurions tendance a utiliser echo $var; car c'est plus rapide à écrire et c'est aussi le plus rapide en temps d'execution machine.

Hors ligne

 

#3 21-03-2008 12:26:23

Xiombarg
Nouveau membre
Date d'inscription: 20-03-2008
Messages: 2

Re: Tutorial de Mathieu Gringer - Question

merci KOogar pour ces explications et exemples. C'est donc une simple convention d'écriture, les points n'étant pas du tout indispensables.

Par contre le terme "parsing", que je traduit par "lecture ou écriture syntaxique", est simplement une manière plus complète ou plus exacte d'écrire le code ?

Deuxième blocage où je suis arrivé : l'implémentation d'un code dans un autre. Dans la partie sur les Modulos, nous avons :

<?php $colors = array('black','green','blue','yellow'); ?>
<?php $bgcolor = $colors[$i++ % 4]; ?>

que j'essaye désespérément d'inclure dans ce bout de code définissant un array :

<?php
// On crée notre array $prenoms
$prenoms = array ("François", "Michel", "Nicole", "Véronique", "Benoît");

// Puis on fait une boucle pour tout afficher :
for ($numero = 0; $numero < 5; $numero++)
{
    echo $prenoms[$numero]; // affichera $prenoms[0], $prenoms[1] etc...
    echo "<br />"; // pour aller à la ligne
}

?>

Mais j'ai beau essayer de le tourner dans tous les sens, impossible de trouver comment faire pour que chaque prénoms s'affiche avec une couleur de fond différente alternativement .... sad

Un poil d'aide svp :'/

Xiom

PS. faut dire juste un truc, c'est qu'il manque une partie sur les arrays dans le tuto, du coup je me suis dirigé vers un autre tuto où forcément le gars n'explique pas pareil et écrit son code différemment.

Dernière modification par Xiombarg (21-03-2008 14:09:50)

Hors ligne

 

#4 21-03-2008 15:20:09

KOogar
Administrateur
Date d'inscription: 21-12-2007
Messages: 325
Site web

Re: Tutorial de Mathieu Gringer - Question

Il te faut un tableau, en html ou en css, si tu veux coloriser tu dois avoir un support.

- Ce code va afficher chaque nom avec une cellule de couleur differente
- La fonction sizeof() retourne la taille du tableau ( dans notre cas, ca retournera la valeur 5
- Dans notre cas, j'ai preferer utiliser while pour plus de clarté, mais nous aurions pu utiliser la boucle for, dans ce cas nous aurions écrit le code ainsi:
for ($numero = 0;$numero <= sizeof($prenoms);$bgcolor = $colors[$numero++ % 4])  { code }

// affiche avec des fonds differents:
François Michel Nicole Véronique Benoît

Code:

<?php
// On crée notre array $prenoms
$prenoms = array ("François", "Michel", "Nicole", "Véronique", "Benoît");
$colors = array('black','green','blue','yellow');

echo '<table><tr>';
// Puis on fait une boucle pour tout afficher :
$numero = 0;
while ($numero < sizeof($prenoms))
{
    $bgcolor = $colors[$numero++ % 4];
    echo '<td bgcolor="'.$bgcolor.'">';
    echo $prenoms[$numero-1]; // affichera $prenoms[0], $prenoms[1] etc...
    echo "</td>"; // pour aller à la ligne
}
echo '</tr></table>';
?>

Hors ligne

 

Pied de page des forums

Propulsé par
PunBB