検索
ホームページバックエンド開発PHPチュートリアルPHP データ型の概要分析_PHP チュートリアル

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

Jul 21, 2016 pm 03:07 PM
phptrue分析する価値名前要約するデータタイプ急行

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」 誤り 誤り 誤り 誤り 誤り 誤り 誤り 誤り 誤り 誤り 本当 誤り
「」 誤り 誤り 誤り 誤り 誤り 誤り 誤り 誤り 誤り 誤り 誤り 本当


www.bkjia.comtru​​ehttp://www.bkjia.com/PHPjc/327569.html技術記事 PHP には 8 つのデータ型があります: 型名 型は値を表します bool boolean true、false integer 整数型 -2147483647-2147483648 string string type 文字列の長さはマシンのメモリによって異なります...
声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
PHP対Python:違いを理解しますPHP対Python:違いを理解しますApr 11, 2025 am 12:15 AM

PHP and Python each have their own advantages, and the choice should be based on project requirements. 1.PHPは、シンプルな構文と高い実行効率を備えたWeb開発に適しています。 2。Pythonは、簡潔な構文とリッチライブラリを備えたデータサイエンスと機械学習に適しています。

PHP:それは死にかけていますか、それとも単に適応していますか?PHP:それは死にかけていますか、それとも単に適応していますか?Apr 11, 2025 am 12:13 AM

PHPは死にかけていませんが、常に適応して進化しています。 1)PHPは、1994年以来、新しいテクノロジーの傾向に適応するために複数のバージョンの反復を受けています。 2)現在、電子商取引、コンテンツ管理システム、その他の分野で広く使用されています。 3)PHP8は、パフォーマンスと近代化を改善するために、JITコンパイラおよびその他の機能を導入します。 4)Opcacheを使用してPSR-12標準に従って、パフォーマンスとコードの品質を最適化します。

PHPの未来:適応と革新PHPの未来:適応と革新Apr 11, 2025 am 12:01 AM

PHPの将来は、新しいテクノロジーの傾向に適応し、革新的な機能を導入することで達成されます。1)クラウドコンピューティング、コンテナ化、マイクロサービスアーキテクチャに適応し、DockerとKubernetesをサポートします。 2)パフォーマンスとデータ処理の効率を改善するために、JITコンパイラと列挙タイプを導入します。 3)パフォーマンスを継続的に最適化し、ベストプラクティスを促進します。

PHPの抽象クラスまたはインターフェイスに対して、いつ特性を使用しますか?PHPの抽象クラスまたはインターフェイスに対して、いつ特性を使用しますか?Apr 10, 2025 am 09:39 AM

PHPでは、特性は方法が必要な状況に適していますが、継承には適していません。 1)特性により、クラスの多重化方法が複数の継承の複雑さを回避できます。 2)特性を使用する場合、メソッドの競合に注意を払う必要があります。メソッドの競合は、代替およびキーワードとして解決できます。 3)パフォーマンスを最適化し、コードメンテナビリティを改善するために、特性の過剰使用を避け、その単一の責任を維持する必要があります。

依存関係噴射コンテナ(DIC)とは何ですか?また、なぜPHPで使用するのですか?依存関係噴射コンテナ(DIC)とは何ですか?また、なぜPHPで使用するのですか?Apr 10, 2025 am 09:38 AM

依存関係噴射コンテナ(DIC)は、PHPプロジェクトで使用するオブジェクト依存関係を管理および提供するツールです。 DICの主な利点には、次のものが含まれます。1。デカップリング、コンポーネントの独立したもの、およびコードの保守とテストが簡単です。 2。柔軟性、依存関係を交換または変更しやすい。 3.テスト可能性、単体テストのために模擬オブジェクトを注入するのに便利です。

通常のPHPアレイと比較して、SPL SPLFIXEDARRAYとそのパフォーマンス特性を説明してください。通常のPHPアレイと比較して、SPL SPLFIXEDARRAYとそのパフォーマンス特性を説明してください。Apr 10, 2025 am 09:37 AM

SplfixedArrayは、PHPの固定サイズの配列であり、高性能と低いメモリの使用が必要なシナリオに適しています。 1)動的調整によって引き起こされるオーバーヘッドを回避するために、作成時にサイズを指定する必要があります。 2)C言語アレイに基づいて、メモリと高速アクセス速度を直接動作させます。 3)大規模なデータ処理とメモリに敏感な環境に適していますが、サイズが固定されているため、注意して使用する必要があります。

PHPは、ファイルを安全に処理する方法をどのように処理しますか?PHPは、ファイルを安全に処理する方法をどのように処理しますか?Apr 10, 2025 am 09:37 AM

PHPは、$ \ _ファイル変数を介してファイルのアップロードを処理します。セキュリティを確保するための方法には次のものが含まれます。1。アップロードエラー、2。ファイルの種類とサイズを確認する、3。ファイル上書きを防ぐ、4。ファイルを永続的なストレージの場所に移動します。

Null Coulescingオペレーター(??)およびNull Coulescing Assignment Operator(?? =)とは何ですか?Null Coulescingオペレーター(??)およびNull Coulescing Assignment Operator(?? =)とは何ですか?Apr 10, 2025 am 09:33 AM

JavaScriptでは、nullcoalescingoperator(??)およびnullcoalescingsignmentoperator(?? =)を使用できます。 1.??最初の非潜水金または非未定されたオペランドを返します。 2.??これらの演算子は、コードロジックを簡素化し、読みやすさとパフォーマンスを向上させます。

See all articles

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

EditPlus 中国語クラック版

EditPlus 中国語クラック版

サイズが小さく、構文の強調表示、コード プロンプト機能はサポートされていません

SublimeText3 Linux 新バージョン

SublimeText3 Linux 新バージョン

SublimeText3 Linux 最新バージョン

WebStorm Mac版

WebStorm Mac版

便利なJavaScript開発ツール

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

AtomエディタMac版ダウンロード

AtomエディタMac版ダウンロード

最も人気のあるオープンソースエディター