Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/256.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/excel/27.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_Post - Fatal编程技术网

只需要了解一个PHP语法,用于设置发布的变量

只需要了解一个PHP语法,用于设置发布的变量,php,post,Php,Post,所以我使用下面的php代码来设置从POST方法接收的变量,但我对它的工作方式感兴趣 $var1 = isset($_REQUEST['var1']) ? $_REQUEST['var1'] : 'default'; 我理解它的功能,但我不懂语法 谢谢你的帮助:)?这只是一个简短的优化符号: if (isset($_REQUEST["var1"])) // If the element "var1" exists in the $_REQUEST array $var1 = $_REQUE

所以我使用下面的php代码来设置从POST方法接收的变量,但我对它的工作方式感兴趣

$var1 = isset($_REQUEST['var1']) ? $_REQUEST['var1'] : 'default';
我理解它的功能,但我不懂语法


谢谢你的帮助:)

?这只是一个简短的优化符号:

if (isset($_REQUEST["var1"])) // If the element "var1" exists in the $_REQUEST array
   $var1 = $_REQUEST["var1"]; // take the value of it
else
   $var1 = "default"; // if it doesn't exist, use a default value

请注意,您可能希望使用$\u POST数组而不是$\u请求数组。

它是三元运算符的synatx。这是if/else的简写。请阅读

这是一个简短的IF语句,从中您将为$var1赋值

语法是:

$var = (CONDITION) ? (VALUE IF TRUE) : (VALUE IF FALSE);

这是一个“三元运算符”,它说的是:-

如果var1设置为post变量,则将var1设置为该值,否则将var1设置为字符串“default”。使用传统语法,它将是:-

if (isset($_REQUEST('var1')) { $var1 = $_REQUEST('var1'); } else { $var1 = 'default'; }
你可能是说

语法是一样的

if(isset($_REQUEST('var1') ) {
    $var1 = ? $_REQUEST('var1')
}else {
    $var1 =: 'default';
}

这是做if的一个简单方法。如果您希望使用post变量,那么最好使用_post而不是request


“?”表示如果isset($\u请求)为真,那么在?和:否则在:和之间执行所有操作

$\u请求('var1')
应该是
$\u请求['var1']
,不是吗?和的可能重复。在询问有关PHP中符号的问题之前,请使用PHP标记wiki。实际上,您键入的不是设置来自$\u POST的变量,而是来自站点上请求的变量$_请求只是检查变量是否来自上面提到的$\u GET或$\u POST。但是您所做的是错误的,因为如果有一个$\u GET变量集具有相同的名称,那么它将取而代之的是$\u GET变量。使用纯$\u POST。@deceze和Panagiotis是的,你们都是对的,因为$\u请求是一个关联数组,默认情况下包含$\u GET、$\u POST和$\u COOKIE的内容。谢谢你们的回答。。。我会投赞成票,但我没有足够的声望:)谢谢你的回答:)