web-dev-qa-db-ja.com

PHP-falseの場合、boolを取得してfalseをエコーし​​ます

次のコードは何も出力しません。

$bool_val = (bool)false;
echo $bool_val;

ただし、次のコードは1を出力します。

$bool_val = (bool)true;
echo $bool_val;

0falseの場合、falseステートメントを追加するよりも$bool_valまたはifを印刷するより良い方法はありますか?

149
Anonymous1
echo $bool_val ? 'true' : 'false';

または、falseの場合にのみ出力する場合:

echo !$bool_val ? 'false' : '';
221
Dan Grossman

これが最も簡単な方法です。

$text = var_export($bool_value,true);
echo $text;

または

var_export($bool_value)

2番目の引数が真でない場合、結果を直接出力します。

57
Saad

いいえ、他のオプションはZendエンジンの変更であり、1つはそれを「より良い方法」と呼ぶのは難しいでしょう。

編集:

本当にしたい場合は、配列を使用できます:

$boolarray = Array(false => 'false', true => 'true');
echo $boolarray[false];

これにより、1/0ではなくブール値がそのまま出力されます。

    $bool = false;

    echo json_encode($bool);   //false
24
serdar.sanri

これを印刷するのが好きです

var_dump ($var);
19
akond

ブール値を整数に変換してみますか?

 echo (int)$bool_val;
17
Yanick Rochon

var_export は、必要な機能を提供します。

これにより、alwaysnullまたはfalseに対して何も出力せずに値を出力します。 var_exportは、渡された引数のPHP表現を出力します。出力をコピーしてPHPに貼り付けることができます。

var_export(true);    // true
var_export(false);   // false
var_export(1);       // 1
var_export(0);       // 0
var_export(null);    // NULL
var_export('true');  // 'true'   <-- note the quotes
var_export('false'); // 'false'

文字列"true"または"false"を出力したい場合、以下のようにブール値にキャストできますが、特殊性に注意してください:

var_export((bool) true);   // true
var_export((bool) false);  // false
var_export((bool) 1);      // true
var_export((bool) 0);      // false
var_export((bool) '');     // false
var_export((bool) 'true'); // true
var_export((bool) null);   // false

// !! CAREFUL WITH CASTING !!
var_export((bool) 'false'); // true
var_export((bool) '0');     // false
10
Jon Surrell

これにより、0または1が得られます。

intval($bool_val);

PHPマニュアル:intval関数

5
David Oliver
echo(var_export($var)); 

$varがブール変数の場合、trueまたはfalseが出力されます。

4
mohamedeimo

sprintf()%bオプションは、ブール値を整数に変換します。

echo sprintf("False will print as %b", false); //False will print as 0
echo sprintf("True will print as %b", true); //True will print as 1

慣れていない場合:この関数に任意の量のパラメーターを与えることができますが、最初のパラメーターは、一般的な文字列の置換のために%b%sのような置換文字列で味付けされた出力文字列です。

各パターンは、次の順序で引数に置き換えられます。

echo sprintf("<h1>%s</h1><p>%s<br/>%s</p>", "Neat Headline", "First Line in the paragraph", "My last words before this demo is over");
3
nuala

三項演算子を使用できます

echo false ? 'true' : 'false';
3
Aaron Hathaway

json_encodeはそのまま使用できますが、きれいではありません(インデントなど):

echo json_encode(array('whatever' => TRUE, 'somethingelse' => FALSE));

...与える...

{"whatever":true,"somethingelse":false}
1
Harry Pehkonen
function dump_condition($condition){
    if($condition){
        return "true";
    } else {
        return "false";
    }
 }

スクリプトで使用

echo dump_condition(1>0); // print "true"

echo dump_condition(1<0); // print "false"
0
Oscar Zarrus