1

引数を二重引用符で囲んで印刷を実行するコードのブロックに遭遇しました。引数には、ドル記号でエスケープされているように見える変数が含まれていました。これは、PHPの二重引用符内で変数が呼び出される方法ですか?

print("$$owed");

ソースからの完全なブロックは次のとおりです。

<html>

 <head>

 <title>Loans</title>

 </head>


 <body>

 <?php

 $interest_rate = .14;

 function YouOweMe($cost, $interest_rate) {

 $weekly_payment = ($cost*$interest_rate);

 print "You better pay me $$weekly_payment every week, or else!";

 }

<font color="#000000">YouOweMe($cost, $interest_rate);

 ?>

 </body>

 </html>

私は数字を取り除く必要がありました。とても腹立たしい。

とにかく、...私には意味がないのは、それ$$owedが想定されていることです、何ですか?文字列を含む別の変数から新しい変数を作成します'owed'か?それはどのような状況でも実用的ではないようです。$$owed金額の前にドル記号を付けるだけではありませんか?

4

4 に答える 4

4

変数変数を理解するための例を次に示します。

<?php
   $var = "test";
   $test = "hey !";
   echo "$$var";   //$test
   echo "${$var}"; //hey !
   echo '$$var';   //$$var
?>

コメントに従って編集しました。

于 2012-07-26T23:24:05.510 に答える
1

PHP では、変数は$二重引用符で定義された文字列内にある場合にエスケープされます。これは一重引用符では機能しません。

于 2012-07-26T23:23:10.610 に答える
0

二重引用符内で変数を使用するにはいくつかの方法があります。いくつかの一般的な方法は次のとおりです。

  1. print("$owed")の値を出力します$owed

  2. print("$$owed")「変数変数」と呼ばれます(以前にリンクされたように)

     $owed = "test";
     $test = 16;
     print("$$owed");
    

    "$test" が出力されます。

  3. これprint("${$owed}")は、 の値を取り、$testそれを変数名として使用します。

一重引用符を使用して、必要な変数を連結することを強くお勧めします。これにより、変数を評価する時間を節約できます。次に例を示します。

$owed = 42;
print('The value is: ' . $owed);

lg、

フロー

于 2012-07-26T23:27:06.243 に答える
0
$string = "world"; 

echo "Hello ${string}"; 
#### outputs "Hello World"

これが、変数を文字列に入れる方法です (二重引用符が必要です)。

あなたが持っているのは可変変数です。$foo文字列を使用して変数を呼び出すことができますfoo

$string = 'foo';
$foo = 'hello world';
echo "I say, ${$string}"; 

「hello world.

于 2012-07-26T23:24:05.400 に答える