变量覆盖
变量覆盖
自定义参数值替换为原有参数值的情况称为变量覆盖。
$$
$price = '3.5'; echo $price.'<br>'; foreach ($_GET as $key => $value) { $$key = $value; } echo $price.'<br>';
$_GET数组的键名为price,键值为-1。$$key等价于$price,然后原先变量的值3.5就被覆盖掉了。

extract
第二个参数未设置默认如果有冲突,覆盖已有的变量。如设置 EXTR_SKIP 则如果有冲突,不覆盖已有的变量。

<?php $price = '6'; echo $price.'<br>'; extract($_GET); echo $price;

parse_str

<?php $value = '30'; echo $value . '<br>'; $a = $_GET['a']; parse_str($a); echo $value . '<br>';

全局变量覆盖
较为鸡肋。

浙公网安备 33010602011771号