2011-03-05 88 views
0

答案:100,它是对现有变量的引用。 但我不明白为什么结果是100?谁可以向我解释这一点? 非常感谢!

+1

您能否向我们提供有问题的代码?这是你的意思:http://ideone.com/a1yMc? – 2011-03-05 19:35:00

+0

你确定答案是100吗? – kjy112 2011-03-05 19:35:16

+1

请不要使用变量变量,它们是可憎的,应该从PHP中彻底删除。然而,你的好奇心是可以理解的。 – 2011-03-05 19:35:23

回答

2

此代码给我“5”。

$a = 5; 
$b = "a"; 
echo ($$b); 
4

不知道你要问什么,但是当我运行此代码:

<?php 

$a = 5; 
$b = 'a'; 
echo $$b; 
?> 

我得到的输出:

5 
0

当然应该是5!

$a = 5 ; 
$b = 'a' ; 

$$b = $($b) = $ ('a') = $a = 5 ; 
2

我认为你的代码/逻辑可能有问题吗?

$a=5; 
$b=a; 
echo $$b; 

输出:

$a=5; 
$b='a'; 
echo $$b; 

输出:

$a=5; 
$b="a"; 
echo $$b; 

输出:

$$是variable variable因为以上所有的都在寻找一个变量a他们都会承担$a - 除非你在你的代码是100

0
有另一个参照不同变量的地方

如果$ b曾被声明为代码中其他变量的引用,那么变量变量将无法按预期工作。

<?php 

$a = 5; 
$b = 'a'; 
echo $$b, "\n"; // echoes 5 as expected 
$b = &$a; 
$b = 'a'; 
echo $$b, "\n"; // echoes 'a' 
相关问题