ホームページ  >  記事  >  バックエンド開発  >  PHP データ型の概要_PHP チュートリアル

PHP データ型の概要_PHP チュートリアル

WBOY
WBOYオリジナル
2016-07-13 17:50:38758ブラウズ

PHPには合計8のデータ型があります:

タイプ名 型表現 価値
ブール ブール値 真、偽
整数 形成外科 -2147483647-2147483648
文字列 文字列型 文字列の長さはマシンのメモリに依存します
フロート 浮動小数点 最大値1.8e308
オブジェクト オブジェクト new $obj=new person(); によってインスタンス化されます
配列 配列型 $arr=array(1,2,3,4,5,6);//一次元配列
リソース
ヌル null 値 ヌル


ブール値 bool:

他の型の場合は、強制変換に (bool) または (boolean) を使用できます。例: (bool) 1=true;

次の状況では、強制変換中にデフォルトで false になります:


​ ブール(偽) メンバー変数を含まない空のオブジェクトは PHP4 でのみ使用され、PHP5 でも当てはまりますブール(偽) NULL または値が割り当てられていない変数 var_dump((bool) NULL)ブール(偽) タグのない XML ドキュメントから生成された SimpleXML オブジェクトブール(偽)

文字列「0.0」の変換結果はbool(true)です
注: -1 およびその他のゼロ以外の値 (正または負に関係なく) は true です

整数整数:
整数型の範囲は-2147483647~2147483647です。この値を超える場合は自動的にfloat型に変換されます
。 echo PHP_INT_SZIE を使用して、マシンに依存する整数の語長を出力できます。 echo PHP_INT_MAX は整数の最大値を出力します
PHP には整数の除算演算はありません。1/2 を実行すると、0.5 の float が生成されます。整数の除算効果を実現したい場合は、(int)(1/2)=0 を使用するか、round( を使用します。 25/7)=4
整数型 (int) または (integer) bool 型への強制変換 true は 1 に変換され、false は 0 に変換されます

浮動小数点型 float:
値の範囲 最大値: 1.8e308 最小値がわかりません。 専門家に知らせてください
浮動小数点数の語長もマシンに関係するようですが、PHP_FLOAT_SIZEがないようなので、浮動小数点数の長さを取得する方法を教えてください

文字列型文字列:
文字列を定義する 4 つの方法:
1. 一重引用符
2.二重引用符
3.heredoc構文構造
4.nowdoc構文構造(PHP5.3.0以降)
一重引用符
一重引用符は最も基本的な文字列を定義し、文字列に一重引用符が含まれている場合は、文字列として処理されます
。 二重引用符
二重引用符で定義された文字列は、いくつかの特殊文字 (n、b) と変数を解析します
変数を文字列に変換する代わりに、変数を二重引用符で囲むことができます:
$num=10;
$str = "$num"; //$str は文字列型 10
ヒアドキュメントの構文構造
<<<識別子
文字列自体
識別子
最後の識別子は行の先頭にある必要があり、識別子の定義形式も PHP で定義されたルールに従う必要があります。数字、文字、アンダースコアのみを含めることができ、数字やアンダースコアで始めることはできません
終了識別子の行には他の文字を使用できません。識別子の後には、タブやスペースを追加できません。そうしないと、PHP は識別子を解析できなくなります。ファイルの終わりまでに識別子が見つからない場合、エラーが生成されます
ヒアドキュメントは二重引用符のない二重引用符です。つまり、エスケープせずに二重引用符を含めることができ、特殊文字と変数を解析できます
nowdoc 構文構造
<<<「識別子」
文字列自体
識別子 www.2cto.com
nowdoc の開始識別子は一重引用符で囲む必要があり、終了識別子とその他のルールはヒアドキュメントと同じです
nowdoc は一重引用符なしです。nowdoc に含まれる文字列はそのまま出力され、それに含まれる特殊文字や変数は解析されません

二重引用符に配列変数に複数の状況が含まれている場合
//まず次の配列を定義します
[php]
1. $arr=array(
2. 'one'=>array(
3. '名前'=>'江通'、
4. 「性別」=>「男性」
5.)、
6. '2'=>'zhaohaitao'、
7. '3'=>'ファンチャンファ'
8.);

上記の配列の最初の要素は 2 次元であり、最後の 2 つの要素は 1 次元です。1 つの次元にアクセスする場合、いくつかの方法があります。 [php]
1. echo "$arr[two]"//キーには一重引用符がありません
2. echo "$arr['two']"//key に一重引用符が含まれているため、エラーが発生します。これを echo "{$arr['two']}"; に変更すると、結果が正しく出力されます。
3. echo "{$arr[two]}"//二重中括弧がありますが、キーに一重引用符がありません。この場合、PHP はまず定数バナナを探し、あればそれを置き換えます。 2 つの定数がない場合は、エラーが発生します。 1 次元配列にアクセスする場合、キーも引用符も追加されないことがわかります (3 番目の状況を考慮すると)。追加する場合は、{} で囲むことはできません。 。
多次元配列テスト
[php]
1. echo "$arr[one][name]"; //出力結果は Array[name] であり、1 つの次元のみを解析することがわかります。 2. echo "{$arr['one']['name']}";//出力結果は jiangtong です
多次元配列にアクセスする場合は中括弧を使用する必要があり、キーは二重引用符で囲む必要があります

配列型
文字列型で述べたように、キー引用符を追加せずに中括弧で囲まれていれば、PHP はまず key という名前の定数があるかどうかを検索し、key という名前の定数が存在する場合はそれを置き換えます。そうしないと、定数が見つからないという警告が生成され、通常の文字列として扱われるため、常に一重引用符を追加することをお勧めします
(array)type または array(type) を使用して配列に変換しますが、値が 1 つだけの値を配列に変換すると、要素 1 つの配列が得られ、添え字は 0 になります。 NULL を配列に変換すると、次のようになります。空の配列を取得します
PHP5.0 以降では、これを実現するために参照を使用できます。 [php]
1. $arr=array('a','b','c','d','e' ); 2. foreach($arr as &$value)
3. {
4. $value=strtoupper($value); 5. $value をエコーし​​ます。 6. }//出力結果ABCDE

オブジェクトオブジェクトタイプ
オブジェクトをインスタンス化するには、new を使用して person クラスを追加します。これは次の方法で実行できます

[php]
1. $objperson=新しい人();
強制変換 (オブジェクト): オブジェクトがオブジェクトに変換される場合、値が NULL の場合、stdclass のオブジェクトはインスタンス化されます。配列はオブジェクトに変換されると、配列のキーがオブジェクトの属性として使用され、値が属性値になり、他のタイプの値の場合は、scalar という名前のメンバー変数に値が含まれます

[php]

1. $arr=array('one'=>a','two'=>b' ); 2. $obj=(オブジェクト)$arr; 3. echo $obj->one //出力結果は次のとおりです
注: これはキーの配列です。文字キーの配列がない場合は、アクセス方法がわかりません。ご存知の方がいらっしゃいましたら、教えていただければ幸いです。
他の値については
[php]
1. $obj1=(オブジェクト)'江'

2. echo $obj1->scalar;//結果を出力します jiang


NULL空型
Null は大文字と小文字を区別しません。NULL 型には値が 1 つだけあり、次の 3 つの状況では変数が NULL とみなされます。 1.NULLに割り当てられます
2. まだ割り当てられていません
3. unset();


jt521xlgさんのコラムより抜粋


http://www.bkjia.com/PHPjc/478264.html

www.bkjia.com

本当


http://www.bkjia.com/PHPjc/478264.html

技術記事

PHP には合計 8 つのデータ型があります: 型名 型は値を表します bool boolean true、false integer integer -2147483647-2147483648 string string 文字列の長さはマシンによって異なります...
変換 結果
ブール値 false var_dump((bool) false) ブール(偽)
整数型 0 var_dump((bool) 0); ブール(偽)
浮動小数点型 0.0 var_dump((bool) 0.0); ブール(偽)
文字列 ‘0’ var_dump((bool) ‘0’); ブール(偽)
空の配列 $arr=array(); var_dump((bool) $arr);
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。