Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/variables/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 如果变量$a等于5,变量$b等于字符a,$$b的值是多少?_Php_Variables - Fatal编程技术网

Php 如果变量$a等于5,变量$b等于字符a,$$b的值是多少?

Php 如果变量$a等于5,变量$b等于字符a,$$b的值是多少?,php,variables,Php,Variables,答案:100,它是对现有变量的引用。 但我不明白为什么结果是100?谁能给我解释一下? 非常感谢 这个代码给我5 $a = 5; $b = "a"; echo ($$b); 不确定您到底在问什么,但当我运行此代码时: <?php $a = 5; $b = 'a'; echo $$b; ?> 当然应该是5 $a = 5 ; $b = 'a' ; $$b = $( $b ) = $ ( 'a' ) = $a = 5 ; 我认为您的代码/逻辑可能有问题 $a=5; $b=a; e

答案:100,它是对现有变量的引用。 但我不明白为什么结果是100?谁能给我解释一下? 非常感谢

这个代码给我5

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

不确定您到底在问什么,但当我运行此代码时:

<?php

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

当然应该是5

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

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

我认为您的代码/逻辑可能有问题

$a=5;
$b=a;
echo $$b;
产出:5

产出:5

产出:5


$$是a,因为上述所有变量都在寻找变量a,它们都将假定为$a-除非您在代码中的某个地方有另一个对不同变量的引用,即100。

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

<?php 

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

你能给我们提供有问题的代码吗?这就是你的意思吗:?你确定答案是100吗?请永远不要使用变量,它们是一个讨厌的东西,应该从PHP中删除。然而,你的好奇心是可以理解的。展示一些代码来演示这个问题,因为正如其他人在回答中所说的,他们得到的结果是感谢所有的回答。我明白了。
$a=5;
$b='a';
echo $$b;
$a=5;
$b="a";
echo $$b;
<?php 

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