PHP默认帖子值

时间:2018-09-17 10:16:07

标签: php php-7

我有一些简单的代码可以让用户插入参数。但是如何使用$_POST设置默认值?例如,如果要求用户输入姓名和年龄,而他选择仅输入姓名,我需要$_POST将age设置为0。

我的代码使用什么:

$name = $_POST['name'];
$weight= $_POST['weight'];
$size =   $_POST['size'];

有时重量或尺寸可能只有一点,所以我需要设置默认值。我尝试了$size = $_POST['size'] ?? 0;,但没有成功。

3 个答案:

答案 0 :(得分:5)

您可以使用ternary operator设置非必填字段的默认值。

$name = $_POST['name'];
$weight= (!empty($_POST['weight'])) ? $_POST['weight'] : 0;
$size =   (!empty($_POST['size'])) ? $_POST['size'] : 0;

参考:-

empty()

注意:- 您也可以为name做同样的事情:-

$name = (!empty($_POST['name'])) ? $_POST['name'] : '';

备注:- Null coalescing operator ??仅在php 7+

中有效

答案 1 :(得分:3)

isset()函数用于检查是否设置了变量。如果已经使用unset()函数取消设置了变量,则将不再设置该变量。如果测试变量包含NULL值,则isset()函数将返回false。

版本: PHP 4及以上

测试代码:

$name =  isset($_POST['name']) ? $_POST['name'] : '';
$weight= isset($_POST['weight']) ? $_POST['weight'] : 0;
$size =  isset($_POST['size']) ? $_POST['size'] : 0;

答案 2 :(得分:0)

尝试:

$size = (isset($_POST['size'])) ? $_POST['size'] : 0;