【 PHP 】PHP8に入門してみた 72日目 PHPの基本 ( 演算子 条件演算子 その2 )

PHP8技術者認定初級試験 が始まるようなので 試験に向けて (できるだけ)勉強しようと思います! 使用する書籍は独習PHP 第4版(山田 祥寛)|翔泳社の本 (shoeisha.co.jp) となります。

演算子

条件演算子 続き

条件演算子はネストすることができます。

ただし、必ず単体の参考演算子をカッコで括らなければいけません。
そうしないとPHP8ではエラーとなります。

<!DOCTYPE html>
<html lang="ja">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>PHPの基本</title>
</head>

<body>
    <?php
    // print命令は指定された文字列を表示するための命令です。
    $msg = 'こんにちは、変数の世界! <br />';

    print $msg;
    print 'こんにちは、皆さん! ';

    print '<br />';

    // PHP8移行では以下のような実装はエラー
    print true ? 1 : false ? 'OK' : 'NG';

    // カッコを必ず付けなければいけません
    print (true ? 1 : false) ? 'OK' : 'NG';
    ?>
</body>

</html>

以下のようにエラーになります。

VS Code上でもエラーとなっています。

メモ

条件演算子のネストは誤解を生み不具合を誘発する温床です。
極力行わない方がよいです。

PHP7系以前では非推奨というワーニングなのだそうです。

 

PHPPHP

Posted by raika@blog