PHP共有8中数据类型:
类型名称 |
类型表示 |
取值 |
bool |
布尔型 |
true,false |
integer |
整型 |
-2147483647-2147483648 |
string |
字符串型 |
字符串长度取决于机器内存 |
float |
浮点型 |
最大值1.8e308 |
object |
对象 |
通过new实例化 $obj=new person(); |
array |
数组类型 |
$arr=array(1,2,3,4,5,6);//一维数组 |
resourse |
|
|
null |
空值 |
null |
布尔型bool :
对于其他类型我们可以使用(bool)或者(boolean) 进行强制转换 eg:(bool)1=true;
以下几种情况在强制转化的时候默认为false:
转换 |
结果 |
布尔型的false var_dump((bool) false) |
bool(false) |
整型0 var_dump((bool) 0); |
bool(false) |
浮点型0.0 var_dump((bool) 0.0); |
bool(false) |
字符串‘0' var_dump((bool) '0'); |
bool(false) |
空数组$arr=array(); var_dump((bool) $arr) |
bool(false) |
不包含任何成员变量的空对象只在PHP4使用,PHP5中为true |
bool(false) |
NULL或者尚未赋值的变量var_dump((bool) NULL) |
bool(false) |
从没有任何标记(tags)的XML文档生成的SimpleXML 对象 |
bool(false) |
文字列「0.0」の変換結果はbool(true)です
注: -1およびその他のゼロ以外の値(正負に関係なく)はtrueです
整数型整数:
の範囲整数型 -2147483647-- 2147483647。この値を超える場合は、マシンに依存する整数の語長を出力するために echo PHP_INT_SZIE を使用できます。 echo PHP_INT_MAX は整数の最大値を出力します
PHP には整数の除算演算はありません。1/2 を実行すると、float の 0.5 が生成されます。整数の除算効果を実現したい場合は、(int)(1/) を使用できます。 2)=0 or Round(25/7) =4
整数型(int) or (integer)に強制変換 bool型 trueは1に変換、falseは0に変換
浮動小数点型 float:
最大値の範囲: 1.8e308 最小値がわかりません。 専門家の方、教えてください浮動小数点数の語長もマシンに関係するようです。あ、専門家の方、浮動小数点数の長さの求め方を教えてください
文字列型 string:
。
文字列を定義する 4 つの方法:1. 一重引用符
2. 二重引用符
3. heredoc 構文構造
4. nowdoc 構文構造 (PHP5.3.0 以降)
一重引用符
一重引用符は最もオリジナルな文字列とその中のすべてを定義します文字列に一重引用符が含まれている場合は、エスケープを使用できます
二重引用符
二重引用符で定義された文字列は、一部の特殊文字 (n、b) と変数を解析します
代わりに変数を二重引用符で囲むことができます。変数を String (文字列) に変換する方法:
$num=10;
$str = "$num"; //$str は文字列型 10
heredoc 構文構造
<<<文字列そのもの
インジケーター 文字
の最後の識別子は行の先頭にある必要があり、識別子の定義形式も PHP で定義された規則に従う必要があります。数字、文字、アンダースコアのみを含めることができ、先頭に文字を含めることはできません。数字とアンダースコア
識別子を終了しない行はどれですか? 識別子の後にセミコロンを追加することはできません。それ以外の場合、PHP は解析できません。ファイルの終わりまでに識別子がない場合は、エラーが生成されます。
heredoc は二重引用符なしの二重引用符です。つまり、二重引用符なしで二重引用符を含めることができます。エスケープし、特殊文字と変数を解析できます
nowdoc 構文構造
<<<' マーク '
文字列そのもの
nowdoc の開始識別子は一重引用符で囲む必要があります。終了識別子とその他の規則は同じです。 heredoc.
nowdoc は一重引用符なしの単一引用符です。nowdoc に含まれる文字列はそのまま出力されます。中に含まれる特殊文字や変数は解析されません
配列変数に複数の状況が含まれる場合は
//まず次の配列を定義します
コードをコピーします コードは次のとおりです:
[php]
$arr=array(
'one'=>array(
'name'=>' jiangtong',
'sex'=>'male'
),
'two'=>'zhaohaitao',
'three'=>'fanchangfa'
); 配列の最初の要素は次のとおりです。 1 次元にアクセスする場合は、いくつかの方法があります:
コードをコピーします
コードは次のとおりです: [php]
echo "$ arr[two]"//キーには一重引用符がありません
echo "$arr['two']"//キーに一重引用符が含まれている場合、エラーが発生します。これを echo "{$arr['two' ]}";、結果は正しく出力できます
echo "{$arr[two]}"//二重中括弧がありますが、キーには一重引用符がありません。この場合、PHP は最初に定数を探します。バナナの場合は、
に置き換えてください。2 つの定数がないため、エラーが発生します にアクセスすると、 1 次元配列になる場合は、キーを追加しないか、引用符を追加します (3 番目の状況を考慮して)。追加する場合は、{} で囲まれます。 。
多次元配列テスト
コードをコピー
コードは次のとおりです:[php]echo "$arr[one][name]" //出力結果はArray[name]です。配列を返すことがわかります。1 つの次元のみが解析されます
echo "{$arr['one']['name']}";//出力結果は jiangtong です
多次元配列にアクセスする場合は、キーを二重引用符で囲む必要があります
配列型
文字列型で述べたように、キー引用符を追加せずに中括弧で囲むことは正当です。 PHP はまず key という名前の定数があるかどうかを検索し、存在しない場合は、定数が見つからないという警告が生成され、通常の文字列として処理されます。 , 一重引用符
を追加し、(array)type または array(type) を使用して配列に変換することをお勧めしますが、値が 1 つだけある値を配列に変換すると、1 つの要素の配列が得られ、添え字は 0 です。 NULL を配列に変換すると、空の配列が得られます
配列をトラバースするときに配列の値を変更することは、PHP 5.0 以降の参照を使用して実装できます
コードをコピーします コードは次のとおりです以下:
[php]
$arr=array('a','b',' c','d','e' );
foreach($arr as &$value)
{
$value =strtoupper($value);
echo $value;
}//出力結果 ABCDE
オブジェクトをインスタンス化するには、new を使用して次のコードを追加します。方法
コードは次のとおりです:
[php]
$objperson=new person();
強制変換 (オブジェクト):
オブジェクトをオブジェクトに変換すると、他の値の場合は、値が NULL の場合、配列のキーがインスタンス化されます。他のタイプの値の場合、値は scalar という名前のメンバー変数に含まれます
コードをコピーします コードは次のとおりです:
[ php]
$arr=array('one'=>'a','two'=>'b' );
$obj=(object)$arr;
echo $obj->one //結果を出力
注: これはキーの配列です。文字キーの配列がない場合は、アクセス方法がわかりません。教えてください。
他の値の場合
コードをコピーします コードは次のとおりです:
[php]
$obj1=(object)'jiang';
echo $obj1->scalar;//出力結果jiang
NULL 空类型
null大小写不敏感,NULL类型只有一个取值,表示一个变量没有值,下面三种情况变量被认为为NULL
1.被赋值为NULL
2.尚未被赋值
3.被unset();
PHP type comparison tables
Comparisons of $x with PHP functions
Expression |
gettype() |
empty() |
is_null() |
isset() |
boolean :if($x)
|
$x = ""; |
string |
TRUE |
FALSE |
TRUE |
FALSE |
$x = null |
NULL |
TRUE |
TRUE |
FALSE |
FALSE |
var $x; |
NULL |
TRUE |
TRUE |
FALSE |
FALSE |
$x is undefined |
NULL |
TRUE |
TRUE |
FALSE |
FALSE |
$x = array(); |
array |
TRUE |
FALSE |
TRUE |
FALSE |
$x = false; |
boolean |
TRUE |
FALSE |
TRUE |
FALSE |
$x = true; |
boolean |
FALSE |
FALSE |
TRUE |
TRUE |
$x = 1; |
integer |
FALSE |
FALSE |
TRUE |
TRUE |
$x = 42; |
integer |
FALSE |
FALSE |
TRUE |
TRUE |
$x = 0; |
integer |
TRUE |
FALSE |
TRUE |
FALSE |
$x = -1; |
integer |
FALSE |
FALSE |
TRUE |
TRUE |
$x = "1"; |
string |
FALSE |
FALSE |
TRUE |
TRUE |
$x = "0"; |
string |
TRUE |
FALSE |
TRUE |
FALSE |
$x = "-1"; |
string |
FALSE |
FALSE |
TRUE |
TRUE |
$x = "php"; |
string |
FALSE |
FALSE |
TRUE |
TRUE |
$x = "true"; |
string |
FALSE |
FALSE |
TRUE |
TRUE |
$x = "false"; |
string |
FALSE |
FALSE |
TRUE |
TRUE |
== との大まかな比較
|
本当 |
誤り |
1 |
0 |
-1 |
「1」 |
「0」 |
"-1" |
NULL |
配列() |
「php」 |
「」 |
本当 |
本当 |
誤り |
本当 |
誤り |
本当 |
本当 |
誤り |
本当 |
誤り |
誤り |
本当 |
誤り |
誤り |
誤り |
本当 |
誤り |
本当 |
誤り |
誤り |
本当 |
誤り |
本当 |
本当 |
誤り |
本当 |
1 |
本当 |
誤り |
本当 |
誤り |
誤り |
本当 |
誤り |
誤り |
誤り |
誤り |
誤り |
誤り |
0 |
誤り |
本当 |
誤り |
本当 |
誤り |
誤り |
本当 |
誤り |
本当 |
誤り |
本当 |
本当 |
-1 |
本当 |
誤り |
誤り |
誤り |
本当 |
誤り |
誤り |
本当 |
誤り |
誤り |
誤り |
誤り |
「1」 |
本当 |
誤り |
本当 |
誤り |
誤り |
本当 |
誤り |
誤り |
誤り |
誤り |
誤り |
誤り |
「0」 |
誤り |
本当 |
誤り |
本当 |
誤り |
誤り |
本当 |
誤り |
誤り |
誤り |
誤り |
誤り |
"-1" |
本当 |
誤り |
誤り |
誤り |
本当 |
誤り |
誤り |
本当 |
誤り |
誤り |
誤り |
誤り |
NULL |
誤り |
本当 |
誤り |
本当 |
誤り |
誤り |
誤り |
誤り |
本当 |
本当 |
誤り |
本当 |
配列() |
誤り |
本当 |
誤り |
誤り |
誤り |
誤り |
誤り |
誤り |
本当 |
本当 |
誤り |
誤り |
「php」 |
本当 |
誤り |
誤り |
本当 |
誤り |
誤り |
誤り |
誤り |
誤り |
誤り |
本当 |
誤り |
"" |
FALSE |
TRUE |
FALSE |
TRUE |
FALSE |
FALSE |
FALSE |
FALSE |
TRUE |
FALSE |
FALSE |
TRUE |
=== との厳密な比較
|
本当 |
誤り |
1 |
0 |
-1 |
「1」 |
「0」 |
"-1" |
NULL |
配列() |
「php」 |
「」 |
本当 |
本当 |
誤り |
誤り |
誤り |
誤り |
誤り |
誤り |
誤り |
誤り |
誤り |
誤り |
誤り |
誤り |
誤り |
本当 |
誤り |
誤り |
誤り |
誤り |
誤り |
誤り |
誤り |
誤り |
誤り |
誤り |
1 |
誤り |
誤り |
本当 |
誤り |
誤り |
誤り |
誤り |
誤り |
誤り |
誤り |
誤り |
誤り |
0 |
誤り |
誤り |
誤り |
本当 |
誤り |
誤り |
誤り |
誤り |
誤り |
誤り |
誤り |
誤り |
-1 |
誤り |
誤り |
誤り |
誤り |
本当 |
誤り |
誤り |
誤り |
誤り |
誤り |
誤り |
誤り |
「1」 |
誤り |
誤り |
誤り |
誤り |
誤り |
本当 |
誤り |
誤り |
誤り |
誤り |
誤り |
誤り |
「0」 |
誤り |
誤り |
誤り |
誤り |
誤り |
誤り |
本当 |
誤り |
誤り |
誤り |
誤り |
誤り |
"-1" |
誤り |
誤り |
誤り |
誤り |
誤り |
誤り |
誤り |
本当 |
誤り |
誤り |
誤り |
誤り |
NULL |
誤り |
誤り |
誤り |
誤り |
誤り |
誤り |
誤り |
誤り |
本当 |
誤り |
誤り |
誤り |
配列() |
誤り |
誤り |
誤り |
誤り |
誤り |
誤り |
誤り |
誤り |
誤り |
本当 |
誤り |
誤り |
「php」 |
誤り |
誤り |
誤り |
誤り |
誤り |
誤り |
誤り |
誤り |
誤り |
誤り |
本当 |
誤り |
「」 |
誤り |
誤り |
誤り |
誤り |
誤り |
誤り |
誤り |
誤り |
誤り |
誤り |
誤り |
本当 |
http://www.bkjia.com/PHPjc/327569.htmlwww.bkjia.comtruehttp://www.bkjia.com/PHPjc/327569.html技術記事 PHP には 8 つのデータ型があります: 型名 型は値を表します bool boolean true、false integer 整数型 -2147483647-2147483648 string string type 文字列の長さはマシンのメモリによって異なります...