web-dev-qa-db-ja.com

PHP変数と文字列リテラルの混合

誰もこれを行うより効率的な方法を知っていますか?

変数$testがあり、次のように定義されているとします:$test = 'cheese'

cheeseyを出力したいのですが、次のようにできます。

echo $test . 'y'

ただし、コードを次のように単純化することをお勧めします(機能しません)。

echo "$testy"

この例は簡単ですが、引用符で囲んだ変数の直後に文字列を追加したい場合があります(たとえば、MySQLクエリを作成する場合)。yを次のように扱う方法があるかどうか疑問に思いますただし、変数と分離する必要はなく、変数とは分離していました。

次の例は機能しますが、echoステートメントの方が読みやすいですが、私が望んでいるものではありません。

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

中括弧を使用して、変数を文字列に直接補間する際のあいまいさを取り除くことができます。

また、これは一重引用符では機能しません。そう:

echo '{$test}y';

出力します

{$test}y
206
alex

変数の前後で{}を使用して、変数を後のものから分離できます。

echo "{$test}y"

参考として、PHPマニュアルの 変数解析-複雑な(中)構文 セクションをご覧ください。

47
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

$ test = "cheese"; 「$ {test} y」;

安っぽい出力になります

まさにあなたが探しているもの。

0
Rizwan