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

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

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

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

 echo $test . 'y' 

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

 echo "$testy" 

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

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

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

Solutions Collecting From Web of "Смешивание переменной PHP с строковым литералом"

 echo "{$test}y"; 

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

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

 echo '{$test}y'; 

выйдет

 {$test}y 

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

 echo "{$test}y" 

В качестве ссылки вы можете взглянуть на раздел синтаксического анализа Variable – Complex (Curly) синтаксиса руководства 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']