1

ifステートメントでsyntax error, unexpected T_VARIABLEというエラーが発生しましたが、私はその理由を知りません。PHPでステートメントがスローされた場合5.3.10

コード:

<?php if($contentTop || $contentLeft || $contentCenter || $contentRight): ?> 
    <div>a bunch of html</div> 
<?php endif; ?> 

変数が空の文字列またはHTMLの束eiter含ま。

||orに変更しようとしましたが、何も変更されていないようです。中括弧で囲まれた文を開閉しません。ifこれは、私がステートメント内に1つの変数しか持たないときに機能するようです。私も!empty($contentTop)を使って変数をチェックしようとしました。

サーバーは、PHPのバージョン5.3.10-1ubuntu3.26を実行しているが、私の知る限り、それはif

については何も変更しないでください

EDIT:

<?php 
$contentTop = get_field('section2new_content'); 
$contentLeft = get_field('section2new_left'); 
$contentCenter = get_field('section2new_center'); 
$contentRight = get_field('section2new_right'); 


if($contentTop || $contentLeft || $contentCenter || $contentRight): ?> 

    <div class="bbh-inner-section teaser-3-col" id="section2temp"> 
     <?php if($contentTop): ?> 
      <div class="grid-container top"> 
       <div class="row"> 
        <div class="col-sm-12"> 
         <?php echo $contentTop; ?> 
        </div> 
       </div> 
      </div> 
     <?php endif; ?> 
     <?php if($contentLeft || $contentRight || $contentCenter): ?> 
      <div class="grid-container bottom"> 
       <div class="row"> 
        <div class="col-sm-4 left"> 
         <?php echo $contentLeft; ?> 
        </div> 
        <div class="col-sm-4 center"> 
         <?php echo $contentCenter; ?> 
        </div> 
        <div class="col-sm-4 right"> 
         <?php echo $contentRight; ?> 
        </div> 
       </div> 
      </div> 
     <?php endif; ?> 
    </div> 
<?php endif; ?> 
:フルマークアップの要求に

私は自分自身に気づいたので、私はもう一度、if/||ステートメントが正常に動作するように見える、秒を持っている。誤って間違ったタイプのスペースを挿入したり、何度もコードを書き換えたりすることはありません。

+0

コードは正常です。問題はif文の前にある可能性があります。 ifの上の行を確認してください –

+0

ページコード全体を表示できます – JYoThI

+0

エラーは最初の 'if'ステートメントの正確な行を示しています。また、完全なマークアップで質問を更新しました。 –

答えて

0

少し奇妙なことを試してみませんか?とにかく、基本的には、ifステートメントを3項演算に変えた以外は、あなたが行ったのと同じことです。これは、あなたが言ったように、 ifのほとんどすべての組み合わせを試しましたが、条件が1つだけの場合を除いて成功しました。ここでのアイデアは、メインの比較を行う単純なブール値を単純なブール値に変換することです後続のif内で使用されます。おそらくこれは、私が働いていた@Poizの答えをしようとしたため...

<?php $state = ($contentTop || $contentLeft || $contentCenter || $contentRight) ? true : false; ?> 
    <?php if($state): ?> 
     <div>a bunch of html</div> 
    <?php endif; ?> 
+0

提案していただきありがとうございます。代替案を見ることはいつも良いことですが、どれほど奇妙なのかは分かります。あなたのコードを試してみました。私はそれから元のコードに置き換えようとしましたが、何とか今でも働いていました。今私は自分の正気に疑問を残している。 私は実際にこのような条件付きの状態を保存することは決して考えませんでしたが、私は何度も何度も何度も繰り返し使用することができます。 –

1

テストするだけで、あなたが持っているケースが、一つの条件であなたの魔法if作品以来、あなたのために働きます。ちょっと疑わしいことをして、元のコードをもう一度試してみました。再びヒューマンエラー。たぶんそれはスペースやタブのいくつかの違法なバージョンでした。

+0

オープン感と誠実さのための@EmilØstervigありがとうございました...ここでの目標は、あなたの問題に対する最適な解決策(最良の解決策を見つける方法)です。また、下記の提案されたオプションがベストではないかもしれないが、ダウン投票に値するものではないことを確認してくれたもう一つのおかげです。 **誠実+オープンハートはこれまでにないほどの価値があります。**乾杯メイト☝️✌️ – Poiz

関連する問題