0

我正在做这个...

<?php $term = ucfirst($_GET['term']);?>

并在页面上多次执行此操作:

<?php if (empty($term)) echo 'X'; else echo $term; ?>

有没有更好的方法来解决这个问题?

4

6 回答 6

3

您可以在首次分配值时指定占位符值:

<?php  $term = ucfirst($_GET['term'])  or  $term = "X";  ?>

(有效,因为 OR 的优先级低于分配。)

然后只需打印该变量:

<?= $term ?>

它将包含输入值或您的X.

于 2012-11-16T04:45:14.220 回答
1

三元运算符:

$term = (empty(ucfirst($_GET['term']))) ? echo 'X' : $_GET['term'];
于 2012-11-16T04:45:54.110 回答
0

声明一个函数

function doTerm()
{
    $term = ucfirst($_GET['term']);
    if (empty($term)) echo 'X'; else echo $term;
}

所以你可以这样称呼它

doTerm();

每当您需要它来测试和回显时。

于 2012-11-16T04:45:31.417 回答
0
<?php 
$term = isset($_GET['term']) ? ucfirst($_GET['term']) : 'X';
echo $term;

//...
?>

如果您在其他任何地方都不需要它,则可以使它更短:-)

    echo (isset($_GET['term']) ? ucfirst($_GET['term']) : 'X');
于 2012-11-16T04:45:44.683 回答
0

三元语法在这里可以很容易地工作:

使用简写标签:

<?=empty($term) ? 'X' : $term ?>

或长手:

<?php echo empty($term) ? 'X' : $term ?>
于 2012-11-16T04:46:36.323 回答
0

你可以使用像 echo ($term!=null) 这样的条件运算符吗?'x' : $术语;

于 2012-11-16T04:47:02.750 回答