0

私はPHPに非常に慣れていないため、ループに陥っています。

したがって、「if contains」「more than」など、いくつかの基本的な PHP IF ステートメントは理解できますが、私の例になると、私は少し混乱しています。

以下のコードは、SEO タイトル タグのコードです。現在、次の例をエコーするだけです。

ホビット ポスター #1 - 映画のポスター

movie_name と poster_name が存在しない場合、単に "Movie Posters" をエコーする IF ステートメントを作成するにはどうすればよいでしょうか。

<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

私たち全員がここに私たち自身の提案した解決策を投稿しているように見えるので、ここに私の説明があります。持っているものすべての文字列を作成してから、余分な空白を削除します。基本的には@JohnCondeの方法に基づいています...彼は最初はほとんどそれを釘付けにしました。これは、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 に答える
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>
于 2013-02-01T02:26:34.920 に答える