Кто-нибудь знает более эффективный способ сделать это?
Скажем, у меня переменный $test
и он определяется как: $test = 'cheese'
Я хочу вывести cheesey
, который я могу сделать вот так:
echo $test . 'y'
Но я бы предпочел упростить код к чему-то более подобному (что, конечно же, не сработало):
echo "$testy"
Этот пример тривиален, но иногда я хочу добавить строку непосредственно после переменной, которую я заключил в кавычки (например, при построении MySQL-запроса), и задался вопросом, есть ли способ, чтобы y
обрабатывался так, как если бы он был отдельным от переменной, без необходимости ее отделять.
Следующий пример работает, который лучше читается в выражении echo, но это не то, что я хочу:
$test = cheese; $y = 'y'; echo "$test$y";
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']