如果$ a = 5,$ b ='a',$$ b的值是多少?

时间:2010-04-28 04:59:26

标签: php

向我解释这个面试问题:

问:如果变量$ a等于5且变量$ b等于字符a,那么$$ b的值是多少?

A: 5,它是对现有变量的引用。

6 个答案:

答案 0 :(得分:8)

那是variable variable。 PHP将使用存储在字符串$b中的名称查找变量。因此,如果$b == 'a'然后$$b == $a

它很像C中的指针,除了它们使用变量名字符串而不是内存地址指向彼此。您可以根据需要多次取消引用:

$a = 5;
foreach (range('b', 'z') as $L) {
  $$L = chr(ord($L) - 1);
}
echo $$$$$$$$$$$$$$$$$$$$$$$$$$z;

输出:

5

答案 1 :(得分:1)

-95就是答案,就好像你echo $b将得到输出一样 “a”  如果你echo $a你将离开但是作为“5

因此,在这个意义上,当你$(echo $b)$(a)相同时,你会得到“5-100”,即“-95

答案 2 :(得分:0)

  $$b - 100
= $a - 100 // substituting $b=a
= 5 - 100
= -95

答案 3 :(得分:0)

以下是PHP变量的一个很好的参考

http://php.net/manual/en/language.variables.variable.php

答案 4 :(得分:0)

我不知道'?'在声明'$$ b中是错误的? - 100',但我认为不会编译。

然而:

$a = 5
$b = 'a';
$c = $$b - 100;

$ c将等于-95,因为$$ b是一个变量变量引用,并且给定$ a = 5它会解析为$ a(5) - 100或-95。

答案 5 :(得分:0)

答案是-95

$a - 100