Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/286.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 如何动态地将参数设置为$\u GET或$\u POST?_Php - Fatal编程技术网

Php 如何动态地将参数设置为$\u GET或$\u POST?

Php 如何动态地将参数设置为$\u GET或$\u POST?,php,Php,我正在用php编写一个函数来检查是否设置了所有参数。这是为了防止程序在未设置参数时崩溃 不幸的是,我得到了这个错误: 注意:未定义变量:\u POST 运行的代码如下所示: # check for the right arguments function checkArguments($type, $arg_array) { # $type is either 'GET' or 'POST' # $arg_array is an array with all the argume

我正在用php编写一个函数来检查是否设置了所有参数。这是为了防止程序在未设置参数时崩溃

不幸的是,我得到了这个错误:

注意:未定义变量:\u POST

运行的代码如下所示:

# check for the right arguments
function checkArguments($type, $arg_array) {
    # $type is either 'GET' or 'POST'
    # $arg_array is an array with all the arguments names

    foreach($arg_array as $arg) {
        print(${"_" . $type}["name"]);
        $type = "_" . $type;
        if(!isset($$type[$arg])) {
            $missing[] = $arg;
        }
    }
}

您可以将它们分配给一个临时变量并使用它

$arr = $_GET;
if ($type == "POST") $arr = $_POST;

您可以将它们分配给一个临时变量并使用它

$arr = $_GET;
if ($type == "POST") $arr = $_POST;

嗨,我假设你想要一个变量,我尽量避免它们,因为它们在代码中很难读取。它还破坏(或不适用于)大多数IDE编辑器

我刚才看到的一件事是相关的

请注意,变量不能在函数或类方法中与PHP的超全局数组一起使用。变量$this也是一个特殊变量,不能动态引用


$\u POST
将被计算在“超全局”中,就像
$\u GET

嗨,我假设您想要一个变量,我尽量避免它们,因为它们在代码中很难读取。它还破坏(或不适用于)大多数IDE编辑器

我刚才看到的一件事是相关的

请注意,变量不能在函数或类方法中与PHP的超全局数组一起使用。变量$this也是一个特殊变量,不能动态引用


$\u POST
将被计算在“超级全球”中,因为
$\u GET

谢谢。不知怎么的,我没有想到这个解决办法。你知道为什么上面的动态名称方法不起作用吗?是的,
$$type
除非你真的想要一个变量,这是一件事,但大多数ppl不熟悉它。谢谢。不知怎么的,我没有想到这个解决办法。你知道为什么上面的动态名称方法不起作用吗?是的,
$$type
,除非你真的想要一个变量,这是一件事,但大多数ppl都不熟悉它。如果(!isset($$type[$arg]),你确定要这个
){
就像在双美元符号
$$type
中一样,注意这不会产生错误,因为PHP有一个所谓的变量。也许这就是你的意思,我在大约4年前就放弃了试图弄清楚这一点……并将实现这一点归咎于一种不好的做法。太容易出错,难以阅读。更不用说它看起来总是很难像输入错误一样,不是应该有效的内容。如果(!isset($$type[$arg]),确实要使用此
if(!isset($$type[$arg])){
就像在双美元符号
$$type
中一样,注意这不会产生错误,因为PHP有一个所谓的变量。也许这就是你的意思,我在大约4年前就放弃了试图弄清楚这一点……并将实现这一点归咎于一种不好的做法。太容易出错,难以阅读。更不用说它看起来总是很难像打字错误,不是应该有效的东西。