使用if语句默认未设置的值

时间:2012-02-13 15:49:18

标签: php

我认为有一种更简单的方法来执行相同的功能,但没有if语句。

if (isset($_GET['limit']))
 {
  $limit = $_GET['limit'];
 }
else
 {
   $limit = 10;
 }

6 个答案:

答案 0 :(得分:3)

简短吗?

$limit = isset($_GET['limit']) ? $_GET['limit'] :  10;

答案 1 :(得分:3)

$limit = $_GET['limit'] ?: 10;

这假定PHP 5.3(?)或更高版本。

答案 2 :(得分:3)

如果有,我会听到它......

...但我认为你最好的选择只是一个简短的if / else语句。并不是说它确实有任何区别。

$limit = (isset($_GET['limit']) ? $_GET['limit'] :  10;

此处有更多信息 - http://www.lizjamieson.co.uk/9/short-if-statement-in-php/

答案 3 :(得分:1)

$limit = isset($_GET['limit']) ? $_GET['limit'] : 10;

答案 4 :(得分:1)

您可以使用三元比较运算符:

$limit = (isset($_GET['limit'])) ? $_GET['limit'] : 10;

答案 5 :(得分:1)

你可以写较短的?:表达式

$limit = isset($_GET['limit']) ? $_GET['limit'] : 10;

或者更好,只需编写自己的功能

$limit = updateMyGetVar('limit', 10);

function updateMyGetVar($var, $default = NULL){
  if (isset($_GET[$var]))
  {
    return $_GET[$var];
  }
  else
  {
    return $default;
  }
}