Est-ce que quelqu'un connaît un moyen plus efficace de le faire?
Disons que j'ai une variable $test
et que celle-ci est définie comme suit: $test = 'cheese'
Je veux sortir cheesey
, ce que je peux faire comme ceci:
echo $test . 'y'
Mais, je préférerais simplifier le code à quelque chose de plus semblable à ceci (qui ne fonctionnerait pas):
echo "$testy"
Cet exemple est trivial, mais parfois je veux ajouter une chaîne directement après une variable que j'ai entourée de guillemets (par exemple lors de la construction d'une requête MySQL) et je me suis demandé s'il existait un moyen de traiter la y
comme si elle était séparée. de la variable, sans avoir besoin de la séparer.
L'exemple suivant fonctionne, ce qui se lit mieux dans l'instruction echo, mais ce n'est pas ce que je veux:
$test = 'cheese';
$y = 'y';
echo "$test$y";
echo "{$test}y";
Vous pouvez utiliser des accolades pour supprimer les ambiguïtés lors de l'interpolation directe de variables dans des chaînes.
En outre, cela ne fonctionne pas avec des guillemets simples. Alors:
echo '{$test}y';
va sortir
{$test}y
Vous pouvez utiliser {}
autour de votre variable pour la séparer de ce qui suit:
echo "{$test}y"
Comme référence, vous pouvez consulter la section Analyse de variables - Syntaxe complexe (curly) du manuel PHP.
$bucket = '$node->' . $fieldname . "['und'][0]['value'] = " . '$form_state' . "['values']['" . $fieldname . "']";
print $bucket;
rendements:
$node->mindd_2_study_status['und'][0]['value'] = $form_state['values']
['mindd_2_study_status']
$ test = "cheese"; "$ {test} y";
Il va sortir ringard
Exactement ce que vous cherchez.