よく使われる新機能をいくつかまとめましたので、「いいね!」をお願いします! ! !
新しいオペレーター
1. ??
$username = $_GET['user'] ?? '';
$username = isset($_GET['user']) $_GET['user'] : ' 誰も' ;
2.
$number1 $number1 が $number2 より小さい場合、等しい場合、または大きい場合は、それぞれ -1、0、1 を返します
新しい関数
intdiv(divisor, divisor) — 除算結果を丸める
intdiv(3, 2) //1
defineは配列を定義できます
define('ANIMALS', [
'dog',
'cat',
'bird'
]);
戻り値の型宣言
function test() :int
{
return 1; //true
return 'string' }
;
function test(string $name) :int
{
return 22;
}
string integer float boolean
エラー階層
Throwable
Error
ArithmeticError
DivisionByZeroError
AssertionError
ParseError
TypeError
Exception
コアソートの最適化
php5: array(1=>0, 0=>0 ) //クイックソート (不安定ソート)
php7: array(0=>0, 1=>0) //クイックソート + 選択ソート (安定ソート)
php5 よりも抽象的な構文 Number (abstract snytaxツリー) AST
PHP -> パーサー -> AST -> オペコード -> 実行
パフォーマンスが向上し、メモリ消費量も増加しましたが、無視できます
新しいクラスを通じて匿名クラスをインスタンス化できます
getAnonymousClass($config) {
return new class($config) {};
}
メソッドをオブジェクトに一時的にバインドし、
$f = function() {
p($ this->name) を呼び出します;
};
クラス F {
private $name = 'F';
$f->call(new F);
統一された構文変数
括弧は左から右への動作に影響しません
$a = 'b';
$b = ['1', '2 ', '3'];
var_dump($$a[1]);
var_dump(($$a)[1]);
php5:
注意: E:Program FilesphpStudyWWWtest.php に初期化されていない文字列オフセット: 1 4 行目
注意: 未定義の変数: E:Program FilesphpStudyWWWtest.php 4 行目
NULL
解析エラー: 構文エラー、予期しない '[' が E:Program FilesphpStudyWWWtest.php 4 行目
php7: string(1 ) "2" string(1) "2"
式 PHP5 PHP7 $$foo['bar']['baz'] ${$foo['bar']['baz']} ($$foo ) ['bar']['baz']
$foo->$bar['baz'] $foo->gt;{$bar['baz']} ($foo->$bar)['baz ' ]
$foo->$bar['baz']() $foo->{$bar['baz']}() ($foo->$bar)['baz']()
Foo ::$bar['baz']() Foo::{$bar['baz']}() (Foo::$bar)['baz']()
名前空間について
/ / Pre PHP 7 コード
somenamespaceClassA を使用します;
somenamespaceClassB を使用します;
somenamespaceClassC を C として使用します;
関数 somenamespacefn_a を使用します;
関数 somenamespacefn_b を使用します;
関数 somenamespacefn_c を使用します;
const somenamespaceConstA を使用します。
const somenamespaceConstC を使用します。
// PHP 7+ コード
use function somenamespace{fn_a, fn_b, fn_c};
use const somenamespace{ConstA, ConstB, ConstC};
リストの変更
1.
list($array[], $array[], $array[]) = [1, 2, 3];
var_dump($array);
php5: array(3) { [0]=> ; int(3) [1]=> int(2) [2]=> int(1) }
; php7: array(3) { [0]=> int(2) [2]=> int(3) }
2. null 値の割り当ては許可されません
list() = $a;
list(,,) = $a;
list($x, list (), $y) = $a;
php7 はエラーを報告します 致命的なエラー: 空のリストは使用できません
3. 文字列分割はサポートされなくなりました
$string = "xy";
list($x, $ y) = $string;
var_dump($x, $y);
php5: string(1) "x" string(1) "y"
php7: null null
foreach
変数参照の変更は、 array
$array = [0];
foreach ($array as &$val) {
var_dump($val);
$array[1] = 1;
}
php5: int(0)
php7: のループint(0) int(1)
参考元アドレス:http://www.php7.site/book/php7/variable-changes-22.html
PHP パフォーマンスを向上させるためのヒント: http://www.laruence.com/2015/12/04/3086.html

ホットAIツール

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

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

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

Video Face Swap
完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

人気の記事

ホットツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

mPDF
mPDF は、UTF-8 でエンコードされた HTML から PDF ファイルを生成できる PHP ライブラリです。オリジナルの作者である Ian Back は、Web サイトから「オンザフライ」で PDF ファイルを出力し、さまざまな言語を処理するために mPDF を作成しました。 HTML2FPDF などのオリジナルのスクリプトよりも遅く、Unicode フォントを使用すると生成されるファイルが大きくなりますが、CSS スタイルなどをサポートし、多くの機能強化が施されています。 RTL (アラビア語とヘブライ語) や CJK (中国語、日本語、韓国語) を含むほぼすべての言語をサポートします。ネストされたブロックレベル要素 (P、DIV など) をサポートします。

SAP NetWeaver Server Adapter for Eclipse
Eclipse を SAP NetWeaver アプリケーション サーバーと統合します。

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

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

ホットトピック









