Смешивание PHP переменной со строковым литералом


кто-нибудь знает более эффективный способ сделать это?

Допустим у меня есть переменная $test и это определяется как:$test = 'cheese'

Я хочу вывести cheesey, что я могу сделать так:

echo $test . 'y'

но я бы предпочел упростить код до чего-то более похожего (что не сработает):

echo "$testy"

этот пример тривиален, но иногда я хочу добавить строку непосредственно после переменной, которую я заключил в кавычки (например, когда построение запроса MySQL) и задавался вопросом, есть ли способ иметь y обрабатывается так, как если бы он был отделен от переменной, без необходимости его отделять.

работает следующий пример, который лучше читается в операторе echo, но это не то, что я хочу:

$test = 'cheese';
$y = 'y';
echo "$test$y";
3 108

3 ответа:

echo "{$test}y";

вы можете использовать фигурные скобки для удаления неоднозначности при интерполяции переменных непосредственно в строках.

также, это не работает с одинарными кавычками. Итак:

echo '{$test}y';

выводит

{$test}y

можно использовать {} вокруг вашей переменной, чтобы отделить ее от того, что после:

echo "{$test}y"

в качестве ссылки, вы можете взглянуть на разбор переменных-сложный (фигурный) синтаксис раздел руководства PHP.

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

print $bucket;

выходы:

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