如果变量的语句不存在?

时间:2013-02-01 02:13:25

标签: php

我是PHP的新手,这让我陷入了困境。

所以我理解了一些基本的PHP IF语句,比如“if contains”“more than”,但是当谈到我的例子时;我有点困惑。

以下代码适用于SEO标题。目前它只是回应下面的例子:

霍比特人海报#1 - 电影海报

我如何创建IF Statment,如果movie_name和poster_name不存在那么它只是echo的“电影海报”

<title><?php echo $movie['movie_name']; ?> <?php echo $poster['poster_name']; ?> - Movie Posters</title>

3 个答案:

答案 0 :(得分:2)

选项1:

<title><?php echo (isset($movie['movie_name'])) ? $movie['movie_name'] : ''; ?> <?php echo (isset($poster['poster_name'])) ? $poster['poster_name'] : ''; ?> - Movie Posters</title>

选项2:

$movie_name = (isset($movie['movie_name'])) ? $movie['movie_name'] : '';
$poster_name = (isset($poster['poster_name'])) ? $poster['poster_name'] : '';

<title><?php echo $movie_name; ?> <?php echo $poster_name; ?> - Movie Posters</title>

有很多方法可以做到这一点。希望这些指向正确的方向。

答案 1 :(得分:0)

以另一种方式思考:

  

IF(你有一个movie_name或一个poster_name)显示DASH

<title><?php 
    $separator='';
    if (isset($movie['movie_name'])) { echo $movie['movie_name'].' '; $separator='- '; }
    if (isset($poster['poster_name'])) { echo $poster['poster_name'].' '; $separator='- '; }
    echo $separator;
?>Movie Posters</title>

答案 2 :(得分:0)

由于看起来我们都在这里发布我们自己提出的解决方案,这是我的解释。构建一系列你拥有的一切,然后修剪任何多余的空白。基本上建立在@John Conde的方法基础上......他第一次将它钉在了第一次。这只是查看PHP如何使用的另一种方式。

// If either are set, echo a dash
if (isset($movie['movie_name']) || isset($poster['poster_name'])) {
    $title = $movie['movie_name'];
    $title .= ' ';
    $title .= $poster['poster_name'];
    $title .= ' - '
}
$title .= 'Movie Posters'

echo trim($title)

另请注意,您可以使用以下语法来回显变量:

<span>Random number: <?= rand() ?></span>
<small><?= $text_to_go_in_small ?></small>