php-insérez une variable dans une chaîne d'écho

$i = 1
echo '
<p class="paragraph$i">
</p>
'
++i

essayer d'insérer une variable dans une chaîne de caractères. Le code ci-dessus ne fonctionne pas. Comment puis-je itérer une variable php dans une chaîne echo?

26
demandé sur Oliver Charlesworth 2011-11-08 21:59:41

10 réponses

les guillemets simples ne parsèment pas les variables PHP à l'intérieur d'eux. Utilisez des guillemets doubles ou utilisez un point pour étendre l'écho.

$variableName = 'Ralph';
echo 'Hello '.$variableName.'!';

OR

echo "Hello $variableName!";

et dans votre cas:

$i = 1;
echo '<p class="paragraph'.$i.'"></p>';
++i;

OR

$i = 1;
echo "<p class='paragraph$i'></p>";
++i;
71
répondu Derek 2011-11-08 18:07:35

utilisez toujours les guillemets doubles lorsque vous utilisez une variable à l'intérieur d'une chaîne de caractères et les guillemets toutes les autres guillemets doubles sauf les guillemets de départ et de fin. Vous pouvez aussi utiliser les crochets comme ci-dessous pour qu'il soit plus facile de trouver vos variables à l'intérieur des chaînes et de les rendre plus propres.

$var = 'my variable';
echo "I love ${var}";

ou

$var = 'my variable';
echo "I love {$var}";

ci-dessus retournerait ce qui suit: j'aime ma variable

15
répondu Jake 2014-12-05 05:37:43

l'interpolation des variables ne se produit pas entre guillemets. Vous devez utiliser des guillemets:

$i = 1
echo "<p class=\"paragraph$i\"></p>";
++i;
10
répondu codaddict 2011-11-08 18:02:14
echo '<p class="paragraph'.$i.'"></p>'

devrait faire l'affaire.

6
répondu Ash Burlaczenko 2011-11-08 18:02:33
echo '<p class="paragrah"' . $i . '">'
6
répondu rogerlsmith 2011-11-08 18:02:44
echo '<p class="paragraph'.$i.'"></p>';
4
répondu Ali Nouman 2011-11-08 18:03:07

Voici les 3 meilleures façons de le faire.

Première Méthode:

$x = '+3';
echo "1+2$x";

les Guillemets Doubles (") vous permet de passer la variable directement à l'intérieur.

Méthode 2:

$x = '+3';
echo '1+2'.$x;

quand vous ne voulez pas utiliser de guillemets pour une raison quelconque, allez avec ceci. Le.( ) signifie simplement "Ajouter". Donc, si vous voulez ajouter quelque chose comme, 1+2+3+4+5 et votre variable dans le milieu tout ce que vous devez faire c'est:

$x = '+3';
echo '1+2'.$x.'+4+5';

Méthode 3: (Ajout d'une variable directement à l'intérieur de la variable)

$x = '+3';
$y = '+4';
$z = '+5';
echo "1+2${"x".$y.$z}";
Output: 1+2+3+4+5

Ici, nous ajoutons $y et $z$x".";{} prioriser les travaux à l'intérieur avant de rendre l'indéfini variable.

ceci est personnellement une fonction très utile pour appeler des fonctions comme:

//Add the Get request to a variable.
$x = $_GET['tool'];

//Edit: If you want this if to contain multiple $xresult's change the if's
//Conditon in the "()" to isset($get). Simple. Now just add $xresultprogram
//or whatever.
if($x == 'app') {
    $xresultapp = 'User requested tool: App';
}

//Somewhere down far in HTML maybe...

echo ${"xresult".$x};
//Note: doing ${"xresult".$_GET['tool']} directly wont work.
//I believe this is because since some direct non-echo html was loaded
//before we got to this php section it cant load cause it has already
//Started loading client side HTML and JS.

ceci produirait $xresultapp's, outil demandé par L'utilisateur: App s'ils ont donné l'exemple.com?tool=app. Vous pouvez modifier avec une instruction else pour définir ce qui se passe quand quelque chose demandé autre puis s'applique.T. c is requested. Rappelez-vous que tout est sensible à la casse donc s'ils demandent App en majuscules il ne sortira pas $xresultapp.

3
répondu John123 2015-09-02 19:37:18

Utilisez des guillemets:

$i = 1;
echo "
<p class=\"paragraph$i\">
</p>
";
++i;
2
répondu Neal 2011-11-08 18:02:03

Vous pouvez essayer ce

$i = 1
echo '<p class="paragraph'.$i.'"></p>';
++i; 
0
répondu 5 revs, 3 users 79%user2155518 2013-08-07 06:18:34

parfois "Mon varaiable : ${valeur}";

-2
répondu Sherif SALEH 2014-07-31 17:31:23