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 に含まれる文字列はそのまま出力されます。中に含まれる特殊文字や変数は解析されません
配列変数に複数の状況が含まれる場合は
//まず次の配列を定義します
'one'=>array(
'name'=>' jiangtong',
'sex'=>'male'
),
'two'=>'zhaohaitao',
'three'=>'fanchangfa'
); 配列の最初の要素は次のとおりです。 1 次元にアクセスする場合は、いくつかの方法があります:
コードをコピーします
echo "{$arr[two]}"//二重中括弧がありますが、キーには一重引用符がありません。この場合、PHP は最初に定数を探します。バナナの場合は、
に置き換えてください。2 つの定数がないため、エラーが発生します にアクセスすると、 1 次元配列になる場合は、キーを追加しないか、引用符を追加します (3 番目の状況を考慮して)。追加する場合は、{} で囲まれます。 。
多次元配列テスト
コードをコピー
多次元配列にアクセスする場合は、キーを二重引用符で囲む必要があります
配列型
文字列型で述べたように、キー引用符を追加せずに中括弧で囲むことは正当です。 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 を使用して次のコードを追加します。方法
オブジェクトをオブジェクトに変換すると、他の値の場合は、値が NULL の場合、配列のキーがインスタンス化されます。他のタイプの値の場合、値は scalar という名前のメンバー変数に含まれます
$obj=(object)$arr;
echo $obj->one //結果を出力
注: これはキーの配列です。文字キーの配列がない場合は、アクセス方法がわかりません。教えてください。
echo $obj1->scalar;//出力結果jiang
NULL 空类型
null大小写不敏感,NULL类型只有一个取值,表示一个变量没有值,下面三种情况变量被认为为NULL
1.被赋值为NULL
2.尚未被赋值
3.被unset();
PHP type comparison tables
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」 | 誤り | 誤り | 誤り | 誤り | 誤り | 誤り | 誤り | 誤り | 誤り | 誤り | 本当 | 誤り |
「」 | 誤り | 誤り | 誤り | 誤り | 誤り | 誤り | 誤り | 誤り | 誤り | 誤り | 誤り | 本当 |

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

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

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

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

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

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

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

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


ホットAIツール

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

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

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

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

人気の記事

ホットツール

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

SublimeText3 Linux 新バージョン
SublimeText3 Linux 最新バージョン

WebStorm Mac版
便利なJavaScript開発ツール

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

AtomエディタMac版ダウンロード
最も人気のあるオープンソースエディター
