it-swarm.com.ru

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

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

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

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

echo $test . 'y'

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

echo "$testy"

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

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

$test = 'cheese';
$y = 'y';
echo "$test$y";
111
Matt McDonald
echo "{$test}y";

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

Кроме того, это не работает с одинарными кавычками. Так:

echo '{$test}y';

будет выводить 

{$test}y
192
alex

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

echo "{$test}y"

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

45
Pascal MARTIN
$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']
0
earlyburg