Een PHP-variabele mengen met een letterlijke tekenreeks

Stel dat ik een variabele $testheb en deze is gedefinieerd als: $test = 'cheese'

Ik wil cheeseyuitvoeren, wat ik als volgt kan doen:

echo $test . 'y'

Maar ik zou de code liever vereenvoudigen tot iets als dit (wat niet zou werken):

echo "$testy"

Is er een manier om de yte behandelen alsof deze los staat van de variabele?


Antwoord 1, autoriteit 100%

echo "{$test}y";

U kunt accolades gebruiken om dubbelzinnigheid te verwijderen wanneer u variabelen rechtstreeks in tekenreeksen interpoleert.

Dit werkt ook niet met enkele aanhalingstekens. Dus:

echo '{$test}y';

uitvoert

{$test}y

Antwoord 2, autoriteit 20%

U kunt {}rondom uw variabele gebruiken om deze te scheiden van wat erna komt:

echo "{$test}y"

Als referentie kun je een kijkje nemen in het Variabele parsing – Complexe (gekrulde) syntaxissectie van de PHP-handleiding.


Antwoord 3, autoriteit 2%

Voorbeeld:

$test = "chees";
"${test}y";

Het zal uitvoeren:

cheesy

Het is precies wat u zoekt.


Antwoord 4

$bucket = '$node->' . $fieldname . "['und'][0]['value'] = " . '$form_state' . "['values']['" . $fieldname . "']";
print $bucket;

opbrengst:

$node->mindd_2_study_status['und'][0]['value'] = $form_state['values']
['mindd_2_study_status']

Other episodes