变量覆盖

 

变量覆盖

自定义参数值替换为原有参数值的情况称为变量覆盖。

 

$$

$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>';

 

 

 

全局变量覆盖

较为鸡肋。

 

posted @ 2021-03-05 19:52  s9mf  阅读(220)  评论(0)    收藏  举报