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
$string = "world"; 

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

这就是您将变量放入字符串的方式(您需要双引号)。

你所拥有的是可变变量。$foo您可以通过在其中使用字符串来调用变量foo

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

将输出“你好世界。

于 2012-07-26T23:24:05.400 回答
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 回答