$$导致的变量覆盖问题

版权声明:a3uRa QQ:962620891 github:asuralinmo.github.io https://blog.csdn.net/qq_41173457/article/details/81590579

使用foreach遍历数组中的值

<?php
foreach (array('_COOKIE','_POST','_GET') as $_request)  
{
    foreach ($$_request as $_key=>$_value)  
    {
        $$_key=  $_value;     //    id为$_key      1为$_value
    }                          //变成了    $id=1
}
$id = isset($id) ? $id : 2;       //$id设置了   执行第一项
if($id == 1) {                         //$id为1    执行if语句
    echo "flag{xxxxxxxxxx}";
    die();
}
echo $id;
?>

可以本地测试一下
请求?id=1 返回flag{xxxxxxxxx}
die()退出程序,不会再执行下面的 echo $id

猜你喜欢

转载自blog.csdn.net/qq_41173457/article/details/81590579