ホームページ > バックエンド開発 > PHPチュートリアル > PHP ブールデータ型とプロセス制御データ型の変換

PHP ブールデータ型とプロセス制御データ型の変換

WBOY
リリース: 2016-06-13 12:55:00
オリジナル
1206 人が閲覧しました

PHP Boolean データ型とプロセス制御データ型の変換

Boolean は最も単純なデータ型です。 TRUE または FALSE を指定できます。キーワードは大文字と小文字が区別されません。

値を明示的にブール値に変換するには、(bool) または (boolean) を使用して変換を強制します。 PHP は多くの場合、特にフロー制御ステートメントの条件式を計算する場合に自動型変換を実行します。

ブール値に変換すると、次の値は false とみなされます:

1) ブール値 false; 2) 整数値 0 (ゼロ)
3) 浮動小数点値 0.0 (ゼロ); 4) 空白文字列と文字列 "0"; 5) メンバー変数のない配列
6) ユニットのないオブジェクト (PHP4 のみ); 7) 特殊な型 NULL (設定されていない変数を含む)。
これ以外の他の値はすべて true とみなされます (リソースを含む)。

次のプログラム例でテストできます:

開発プロセス中、条件を判断するときは、ブール値型のデフォルト変換に隠れた危険性に必ず注意してください。

次の質問はこの側面に関するものです:
<?php

var_dump((bool) "");     //bool(false)
var_dump((bool) 1);    //bool(true)
var_dump((bool) -2);   //bool(true)
var_dump((bool) "foo");   //bool(true)
var_dump((bool) 2.3e6);   //bool(true)
var_dump((bool) array(10));   //bool(true)
var_dump((bool) array());    //bool(false)
var_dump((bool) "false");   //bool(true)
?>
ログイン後にコピー

<?php
/*习题*/
/*1。写出下列代码的运行结果*/
	if(5<4)
		echo "true";
	else
		echo "false-1"."<br />";
	if("0")
		echo "true";
	else
		echo "false-2"."<br />";
	if($i)
		echo "true";
	else
		echo "false-3"."<br />";
	if("false")
		echo "true";
	else
		echo "false-4"."<br />";
	if(false)
		echo "true";
	else
		echo "false-5"."<br />";

	if(0.0)
		echo "true";
	else
		echo "false-6"."<br />";
	if(php)
		echo "true";
	else
		echo "false-7"."<br />";
	if("")
		echo "true";
	else
		echo "false-8"."<br />";
	if(null)
		echo "true";
	else
		echo "false-9"."<br />";
	if(array(12))
		echo "true";
	else
		echo "false-10"."<br />";
	if(array())
		echo "true";
	else
		echo "false-11"."<br />";
		
/*
	输出结果:
	false-1
	false-2
	false-3
	true false-5
	false-6
	true false-8
	false-9
	true false-11
	
	分析:if语句当条件不满足(即条件表达式计算结果为false)都会返回假。php的if语句没有then,有elseif(同else if)
	当转换为boolean时候,以下值被认为是false:
	1)布尔值false;
	2)整型值0(零);
	3)浮点型值0.0(零);
	4)空白字符串和字符串“0”;
	5)没有成员变量的数组;
	6)没有单元的对象(仅适用于PHP4);
	7)特殊类型NULL(包括尚未设定的变量);
*/						



?>
ログイン後にコピー


関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート