phh中的$和$$的区别,以及引用&的用法?

180 阅读1分钟

本文已参与「新人创作礼」活动,一起开启掘金创作之路。

1 $和$$定义

$var(一个美元)是一个正常变量,名称为:var,存储任何值,如:stringintegerfloat等。 $$var(两个美元)是一个引用变量,用于存储$var的值。 为了更好地理解$$$之间的区别,下面来看看一些例子。

2 示例

2.1 示例1

<?php  
​
$x = "abc";  
$$x = 200;  
echo $x."<br/>";  
echo $$x."<br/>";  
echo $abc;  

运行结果: abc 200 200

在上面的例子中,我们为变量x赋值为:abc。引用变量$$x的值分配为200。现在我们打印出变量:$x$$x$abc。由此可以看出:$$x$abc的值是相同的,即:因为 $x的值为abc,所以 $$x(${$x})计算后为$abc

2.2 示例2

<?php
​
$name = "Cat";
${$name} = "Dog";  // => $Cat = "Dog"
${${$name}} = "Monkey";  // => $Dog = "Monkey"
echo $name . "<br>";  // $name = "Cat"
echo ${$name} . "<br>";  // $Cat = 'Dog'
echo $Cat . "<br>";
echo ${${$name}} . "<br>";  // $Dog
echo $Dog . "<br>";

运行结果: Cat Dog Dog Monkey Monkey

在上面的例子中,我们为变量$name指定了一个值Cat。 引用变量${$name}分配一个值:Dog${${$name}}分配一个值:Monkey 。 我们只需要进行替换即可,下面的等式是恒成立的:

$name = "Cat";
${$name} = "Dog";  =>  $Cat = "Dog";
${${$name}} = "Monkey";  => $Dog = "Monkey";

3 引用

引用就是让多个变量名同时指向计算机内存中同一块地址,其中一个变量修改内存中的值,那么通过其他变量名拿到的值,也会跟着变化。

<?php$b = 1202;
$c = &$b;
echo  '修改数据前<br>';
echo '$b=' . $b . '<br>';
echo '$c=' . $c . '<br>';
$c = 200;
echo  '修改数据后<br>';
echo '$b=' . $b . '<br>';
echo '$c=' . $c . '<br>';

Reference

写在最后

欢迎大家关注鄙人的公众号【麦田里的守望者zhg】,让我们一起成长,谢谢。 微信公众号