2016-05-30 10 views
0

ここではPHPのステートメントで苦労しています。私は後でphpで参考にしたい変数trueを保存していないようです。php変数の値が保存されていませんブール

<?php if ($the_query->have_posts()) : while ($the_query->have_posts()) : $the_query->the_post(); ?> 
<?php $isFound=true;?> 
<?php endwhile; else: ?> 
<?php $isFound=false;?> 
<p><?php 
echo $isFound; 

_e('Sorry, no posts matched your criteria.'); ?></p> 
<?php endif; ?> 

私が間違っていることを誰かに教えてもらえますか? sorry no posts matchedがうまく表示されても、それをエコーし​​ようとすると値が表示されません。

+1

'echo false;'、基本的に。 'echo'には文字列が必要です。 'false'は文字列' '' 'に変換されます。つまり、何もありません。 'var_export($ isFound);'を試してください –

+1

PHPロジックとHTML出力コードを分離する方が良いです。このようにして、バグのようなコードを読み取れないようにします。 –

+0

@NiettheDarkAbsolしかし、その変数を後で参照したいと思っていて、それは私のコードがそれを参照することができないようですか?どのように私はそれを適切なbolleanにするのですか? – rogue39nin

答えて

1

PHPは偽の文章を印刷またはエコーしません。あなたはこれらのブール値とブール値ですので、あなたはあなたが価値がtruefalseであるかどうかを確認するために、エコー使用すべきではない

var_dump($isFound); 
2

を使用する必要がある値を確認したい場合はエコーすることはできません。あなたが本当にかかわらず、エコーを使用したい場合は

は、次の操作を実行できます。

if ($value === true) { 
    echo "true"; 
} else { 
    echo "False"; 
} 

そうでなければ、私はvar_dump()またはprint_r()のいずれかを使用することをお勧めしたいと思います。

var_dump($isFound); 

print_r($isFound); 

ヒント:var_dump()<pre />タグと素晴らしいprint_r()作品。

echo "<pre>"; 
var_dump($isFound); 
echo "</pre>"; 

上記は、明確なダンプ(美化)を提供します。

+2

'xdebug'を有効にすると' var_dump'の出力が美しくなり、実行時にアプリケーションをデバッグしてブレークポイントを使って '変数データ 'を確認することができます。 – fyrye

関連する問題