Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/231.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:使用未设置的变量是一种不好的做法吗?_Php_Variables_Unset - Fatal编程技术网

PHP:使用未设置的变量是一种不好的做法吗?

PHP:使用未设置的变量是一种不好的做法吗?,php,variables,unset,Php,Variables,Unset,例如,如果我想使用代码: $foo = $_POST['foo']. $_GET['foo']; 获取一个值,无论是通过POST还是GET,这是可接受还是不好的实践?< /P> < P>在您的答案中没有看到任何未设置的内容,尽管您可以使用 $IO请求[Foo] ] /,因为这将考虑 $POST < /C> >以及 $yGET。但是,您的代码也将是脏的,例如,我调整了方法值,对于登录表单,用户可以轻松攻击您的网站 因此,明智地使用$\u GET[]和$\u POST[]而不是使用松散的$\u请求

例如,如果我想使用代码:

$foo = $_POST['foo']. $_GET['foo'];

获取一个值,无论是通过POST还是GET,这是可接受还是不好的实践?< /P> < P>在您的答案中没有看到任何未设置的内容,尽管您可以使用<代码> $IO请求[Foo] ] /<代码>,因为这将考虑<代码> $POST < /C> >以及<代码> $yGET。但是,您的代码也将是脏的,例如,我调整了

方法
值,对于登录表单,用户可以轻松攻击您的网站

因此,明智地使用
$\u GET[]
$\u POST[]
而不是使用松散的
$\u请求[]

如果出于任何原因,您正在使用
$\u请求
感谢确保使用条件检查请求是否为
GET
POST
,使用
$\u服务器['REQUEST\u METHOD']

if ($_SERVER['REQUEST_METHOD'] === 'POST') {
   //Do something
}

在您的答案中没有看到任何未设置的内容,尽管您可以使用<代码> $i请求[ 'fo' ] < /> >,因为它将考虑<代码> $POST < /C> >以及<代码> $yGET。但是,再次,您的代码将是脏的,例如,我修改了<代码>方法< /代码>值,对于登录表单,用户可以很容易地攻击您的网站…

因此,明智地使用
$\u GET[]
$\u POST[]
而不是使用松散的
$\u请求[]

如果出于任何原因,您正在使用
$\u请求
感谢确保使用条件检查请求是否为
GET
POST
,使用
$\u服务器['REQUEST\u METHOD']

if ($_SERVER['REQUEST_METHOD'] === 'POST') {
   //Do something
}

在您的答案中没有看到任何未设置的内容,尽管您可以使用<代码> $i请求[ 'fo' ] < /> >,因为它将考虑<代码> $POST < /C> >以及<代码> $yGET。但是,再次,您的代码将是脏的,例如,我修改了<代码>方法< /代码>值,对于登录表单,用户可以很容易地攻击您的网站…

因此,明智地使用
$\u GET[]
$\u POST[]
而不是使用松散的
$\u请求[]

如果出于任何原因,您正在使用
$\u请求
感谢确保使用条件检查请求是否为
GET
POST
,使用
$\u服务器['REQUEST\u METHOD']

if ($_SERVER['REQUEST_METHOD'] === 'POST') {
   //Do something
}

在您的答案中没有看到任何未设置的内容,尽管您可以使用<代码> $i请求[ 'fo' ] < /> >,因为它将考虑<代码> $POST < /C> >以及<代码> $yGET。但是,再次,您的代码将是脏的,例如,我修改了<代码>方法< /代码>值,对于登录表单,用户可以很容易地攻击您的网站…

因此,明智地使用
$\u GET[]
$\u POST[]
而不是使用松散的
$\u请求[]

如果出于任何原因,您正在使用
$\u请求
感谢确保使用条件检查请求是否为
GET
POST
,使用
$\u服务器['REQUEST\u METHOD']

if ($_SERVER['REQUEST_METHOD'] === 'POST') {
   //Do something
}

要获取值,无论是通过POS传递还是获取,请使用此

$foo = $_REQUEST['foo'];

要获取值,无论是通过POS传递还是获取,请使用此

$foo = $_REQUEST['foo'];

要获取值,无论是通过POS传递还是获取,请使用此

$foo = $_REQUEST['foo'];

要获取值,无论是通过POS传递还是获取,请使用此

$foo = $_REQUEST['foo'];
我同意:

$foo = isset($_REQUEST['foo']) ? $_REQUEST['foo'] : null;
更多信息请访问:

我会选择:

$foo = isset($_REQUEST['foo']) ? $_REQUEST['foo'] : null;
更多信息请访问:

我会选择:

$foo = isset($_REQUEST['foo']) ? $_REQUEST['foo'] : null;
更多信息请访问:

我会选择:

$foo = isset($_REQUEST['foo']) ? $_REQUEST['foo'] : null;

更多信息请访问:

如果您将开发服务器PHP配置为抛出所有警告,您将发现。

如果您将开发服务器PHP配置为抛出所有警告,您将发现。

如果您将开发服务器PHP配置为抛出所有警告,您会发现。

如果您将开发服务器PHP配置为抛出所有警告,您会发现。

为什么要使用。运算符,如果我没有错的话,这将连接结果,因为上面建议使用$\u REQUEST是更好的方法。

为什么要使用。运算符,如果我没有错的话,这将连接结果,因为上面建议使用$\u REQUEST是更好的方法。

为什么要使用。运算符,如果我没有错的话,这将连接结果,因为上面建议使用$\u REQUEST是更好的方法。

为什么要使用。运算符,如果我没有错的话,这将连接结果,因为上面建议使用$\u请求将是更好的方法。

是的,这很糟糕。有两个问题:

  • 它将发出警告
  • 串联不适合此用例
  • 如果您想从
    $\u POST
    $\u get
    中获取密钥,并且您不关心该密钥存在于哪个密钥中,则可以使用$\u REQUEST superglobal和以下习惯用法:

    $var = isset($_REQUEST['foo']) ? $_REQUEST['foo'] : null;
    

    $\u REQUEST
    $\u GET
    $\u POST

    的联合体是的,这太可怕了。有两个问题:

  • 它将发出警告
  • 串联不适合此用例
  • 如果您想从
    $\u POST
    $\u get
    中获取密钥,并且您不关心该密钥存在于哪个密钥中,则可以使用$\u REQUEST superglobal和以下习惯用法:

    $var = isset($_REQUEST['foo']) ? $_REQUEST['foo'] : null;
    

    $\u REQUEST
    $\u GET
    $\u POST

    的联合体是的,这太可怕了。有两个问题:

  • 它将发出警告
  • 串联不适合此用例
  • 如果您想从
    $\u POST
    $\u get
    中获取密钥,并且您不关心该密钥存在于哪个密钥中,则可以使用$\u REQUEST superglobal和以下习惯用法:

    $var = isset($_REQUEST['foo']) ? $_REQUEST['foo'] : null;
    

    $\u REQUEST
    $\u GET
    $\u POST

    的联合体是的,这太可怕了。有两个问题:

  • 它将发出警告
  • 串联不适合此用例
  • 如果您想从
    $\u POST
    $\u get
    中获取密钥,并且您不关心该密钥存在于哪个密钥中,则可以使用$\u REQUEST superglobal和以下习惯用法:

    $var = isset($_REQUEST['foo']) ? $_REQUEST['foo'] : null;
    
    $\u REQUEST
    显然是
    $\u GET
    $\u POST

    的联合体