PHP变量覆盖

全局变量覆盖

register_globals用来注册全局变量
当register_globals全局变量设置开启时,传递过来的值会被直接注册为全局变量而使用,这会造成全局变量覆盖
新版本没有这个东西了,大概在5.2版本以后就消失了

parse_str变量覆盖

php version:5.2

<?php
parse_str("name=Bill&age=60",$myArray);
print_r($myArray);
?>
//Array ( [name] => Bill [age] => 60 )

动态变量覆盖$$

<?php
 
 
$name=’thinking’;
 
foreach ($_GET as $key => $value)
 
    $$key = $value;
 
var_dump($key);
 
var_dump($value);
 
var_dump($$key);
 
echo $name;
 
//?name=test
//output:string(4) “name” string(4) “test” string(4) “test” test

extract()函数

<?php
$a = "Original";
$my_array = array("a" => "Cat","b" => "Dog", "c" => "Horse");
extract($my_array);
echo "\$a = $a; \$b = $b; \$c = $c";
//$a = Cat; $b = Dog; $c = Horse
?>

import_request_variables()变量覆盖

(PHP 4 >= 4.1.0, PHP 5 < 5.4.0)

posted @ 2021-01-31 14:55  Alpenliebe1  阅读(53)  评论(0)    收藏  举报