2017-02-02 10 views
0

いずれかの変数が空でない場合、変数をエコーし​​たいと思います。PHPで2つの変数が空でないか確認する

if(!empty($this->element->videos||$this->element->productdownloads)) { 
    echo $this->element->videos; 
    echo $this->element->productdownloads; 
} 
+0

条件をチェーンするだけですか? '!empty($ this-> element-> videos)|| ![empty]($ this-> element-> productdownloads) ' – Terry

+0

[docs](http://php.net/manual/en/function.empty.php)*" PHP 5.5より前のバージョンではempty変数の中に他のものがあると、解析エラーが発生します。 "*関数内に*テスト*があり、エラー報告(おそらくエラーログ)がこれを表示します。 –

+0

両方の変数をエコーし​​ますか?それともどちらか? –

答えて

4

OR演算子(||)でチェックするときに1つが、コードが実行されます:私は、次のPHPを書かれているが、変数が空でないときには示されていない

またはいずれも空ではない。しかし、どちらかが空であっても両方の変数をエコーし​​ます。

あなたがしたいと思うものは、AND演算子(&&)です。この方法では、変数が空でない場合にのみコードが実行されます。

<?php if(!empty($this->element->videos) && !empty($this->element->productdownloads)) { 
    echo $this->element->videos; 
    echo $this->element->productdownloads; } 
?> 

あなたはまだproductdownloadsが空(またはその逆)であっても、動画を表示したい場合は、それらのそれぞれの場合、あなたはこのように、別々に行うことができます:

if(!empty($this->element->videos){ 
    echo $this->element->videos; 
} 
if(!empty($this->element->productdownloads){ 
    echo $this->element->productdownloads; 
} 

が編集:マイナー文法上の修正

5
<?php 
     if(!empty($this->element->videos) || !empty($this->element->productdownloads)) { 
     echo $this->element->videos; 
     echo $this->element->productdownloads; 
     } 
    ?> 
1
if(!$this->element->videos || !$this->element->productdownloads) 
{ 
    echo $this->element->videos; 
    echo $this->element->productdownloads; 
} 

デフォルトでは空のPHPを使用する必要はありません。条件付きでサインする

-1

まあ、そういう問題がかなりありました。

2つの変数から空のスペースを削除してから比較してください。変数の前に空白がくることがあり、それが比較を妨げることがあります。

関連する問題