Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/243.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=&x27;a';,$b的价值是多少?_Php - Fatal编程技术网

Php 如果$a=5,$b=&x27;a';,$b的价值是多少?

Php 如果$a=5,$b=&x27;a';,$b的价值是多少?,php,Php,向我解释这个面试问题: Q:如果变量$a等于5,变量$b等于字符a,$$b的值是多少 A:5,它是对现有变量的引用。这是一个。PHP将使用存储在字符串$b中的名称查找变量。因此,如果$b=='a'那么$$b=='a $$b - 100 = $a - 100 // substituting $b=a = 5 - 100 = -95 它很像C中的指针,只是它们使用变量名字符串而不是内存地址来相互指向。您可以根据需要多次取消引用: $a = 5; foreach (range('b', 'z')

向我解释这个面试问题:

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

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

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

  $$b - 100
= $a - 100 // substituting $b=a
= 5 - 100
= -95
它很像C中的指针,只是它们使用变量名字符串而不是内存地址来相互指向。您可以根据需要多次取消引用:

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

5

下面是关于PHP变量的一个很好的参考


我不知道“$$b”语句中的“?”是否错误-100'但我不认为这会编译

然而:

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

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

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

因此,从这个意义上说,当u
$(echo$b)
$(a)
相同时,因此u将得到它作为“
5-100
”,即“
-95

,答案是-95

$a - 100

-100
在那里干什么?@Fernandes 100就是答案!为什么100是答案?$$b不是应该等于5吗?答案是-95,因为
$b
等于
a
。当您执行
$
操作时,它将成为一个变量,该变量使令牌将
$b
的值命名为该值,在本例中为
a
。解析器查看它,它的读数是5-100,因为
$$b
等于
$a
等于5。如果100是答案,那么这个问题就没有任何意义。
$$b
是完全合法的syntax@webdestroya但是
$$b?
不是是的,我指的是“$$b”中的“?”字符100'问题的一部分。:)@Mike B但是
$$B'foo':“bar”
应该是:o) @deceze,但他在问题中没有这样说。他似乎根本没有使用三元运算符,因为他的问题中缺少冒号(
)。我很确定
部分只是标点符号。