php7の新機能を詳しく解説

零到壹度
リリース: 2023-03-22 06:58:01
オリジナル
2180 人が閲覧しました

今回はphp7の新機能をまとめます。以下は実際の事例です。編集者の足跡をたどって見てみましょう。


php7の新機能

スカラー型宣言(パラメータが特定の型である必要があります。パラメータの型が一致しない場合、php5は致命的なエラーを引き起こし、php7はTypeError例外をスローします)

2 つのモード: 強制モード (デフォルト) と厳密モード

型パラメーターは次のとおりです:

1. string

2. int

3. float

4.bool

php5 で導入された他の型を拡張します


1. クラス名

戻り値の型宣言

php7 は戻り値の型の宣言を追加します。戻り値の型の宣言は、関数の戻り値の型を指定するものと非常に似ています。使用可能な型は、パラメーター宣言で使用可能な型と同じです。

例:

function sumOfInts(int ...$ints) { return array_sum($ints); } var_dump(sumOfInts(2, '3', 4.1));
ログイン後にコピー




NULL合体演算子


変数が存在し、値がNULLでない場合は独自の値を返し、それ以外の場合は2番目のパラメータを返します

 6 [1] => 15 [2] => 24 )
ログイン後にコピー

結果上の式と下の式は同じです。

$username = $_GET['user'] ?? 'nobody';
ログイン後にコピー


結合比較演算子


は、2 つの式を比較するために使用されます。 $a が $b より大きい、等しい、または $b より小さい場合、それぞれ 1、0、または -1 を返します。

例:

$username = isset($_GET['user']) ? $_GET['user'] : 'nobody';
ログイン後にコピー

define() を通じて定数配列を定義します

 1; // 0 echo 1 <=> 2; // -1 echo 2 <=> 1; // 1 // Floats echo 1.5 <=> 1.5; // 0 echo 1.5 <=> 2.5; // -1 echo 2.5 <=> 1.5; // 1 // Strings echo "a" <=> "a"; // 0 echo "a" <=> "b"; // -1 echo "b" <=> "a"; // 1 ?>
ログイン後にコピー

匿名クラス


新しいクラスをサポートすることで、匿名クラスをインスタンス化できるようになりました。これは、一度だけ使用される一部の完了クラスを置き換えるために使用できます

unserialize() のフィルタリングを提供します

 php5.6 中 仅能通过const 定义 
ログイン後にコピー
IntlChar


新しく追加された IntlChar クラスは、より多くの ICU 関数を公開するように設計されています。このクラス自体は、複数の文字セットで Unicode 文字を操作するための多くの静的メソッドを定義します

これを使用したい場合。クラスを使用するには、最初に Intl 拡張機能をインストールする必要があります

ExpectedExpected は、以前の Asser() の下位互換性があり強化されたメソッドであり、運用環境でアサーションをゼロコストで有効にし、アサーションが失敗したときに特性例外をスローする機能。
assert() は、最初のパラメータを、単なる評価対象の文字列やテスト対象のブール値ではなく、式にすることを可能にする言語構造です


クラスのセットを宣言するには use を使用してください

 false]); // 除了MyClass,MyClass2 都转换为 into __PHP_Incomplete_Class object $data = unserialize($foo, ["allowed_classes" => ["MyClass", "MyClass2"]); // 默认的行为,接受所有的参数 $data = unserialize($foo, ["allowed_classes" => true]); 
ログイン後にコピー



ジェネレータの戻り式
は次のとおりです:

 
ログイン後にコピー

ジェネレータは次のように別のジェネレータ

に委任できます。りー

新しい整数除算関数 intp()

は次のとおりです:

getReturn(), PHP_EOL;// 换行,为了提高源码可读性 以上例程会输出: 1 2 3 
ログイン後にコピー

セッションオプション


これで、session_start() を通じて配列パラメータを受け入れることができ、php.ini にセッションを書き込むことができます設定コマンドのパラメータは、session.lazy_write、read_and_close、cache_limiter などをサポートします。
は次のとおりです:

 以上例程会输出: 1 2 3 4 
ログイン後にコピー

新しい preg_replace_callback_array() 関数

は preg_replace_callback() よりも優れたパフォーマンスを発揮します

新機能 2つrandom_bytes() と random_int()


具体的な使用法については、以下を参照してください:random_bytes()


random_int()

list() は自動解凍をサポートしなくなりました

以前は、list は ArrayAccess を実装したオブジェクトの動作を保証していませんでしたが、この問題は解決されました

以上がphp7の新機能を詳しく解説の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!