0

我对 PHP 很陌生,这让我陷入了一个循环。

所以我了解一些基本的 PHP IF 语句,例如“如果包含”“超过”,但是当涉及到我的示例时;我有点困惑。

下面的代码用于 SEO 标题标签。目前它只是回显以下示例:

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

我将如何创建一个 IF 语句,如果 movie_name 和 poster_name 不存在,那么它只会回显“电影海报”

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

3 回答 3

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>

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

于 2013-02-01T02:14:52.010 回答
0

换一种方式想一想:

如果(您有电影名称或海报名称)显示 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>
于 2013-02-01T02:26:34.920 回答
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>
于 2013-02-01T02:43:46.103 回答