ホームページ  >  記事  >  バックエンド開発  >  PHP7で追加された新機能のまとめ(コード付き)

PHP7で追加された新機能のまとめ(コード付き)

不言
不言オリジナル
2018-08-08 14:08:35999ブラウズ

この記事は、PHP7 で新たに追加された機能をまとめたもの (コード付き) です。一定の参考価値があります。必要な友人は参照してください。お役に立てれば幸いです。

1. スカラー型宣言

a) スカラー型宣言には、必須モード (デフォルト) と厳密モードの 2 つのモードがあります。 string、int、float、bool の型パラメータが (強制モードまたは厳密モードのいずれかで) 使用できるようになりました。これらは、PHP5 で導入された他の型 (クラス名、インターフェイス、配列、コールバック型) を拡張します。

<?php
// Coercive mode
function sumOfInts(int ...$ints)
{
    return array_sum($ints);
}

var_dump(sumOfInts(2, &#39;3&#39;, 4.1));

上記の結果が出力されます: int(9)
strict モードを使用するには、declare 宣言ディレクティブをファイルの先頭に配置する必要があります。これは、スカラーがファイル ベースで構成可能であると厳密に宣言されていることを意味します。このディレクティブは、パラメータの型宣言だけでなく、関数の戻り値宣言にも影響します (戻り値の型宣言、組み込み PHP 関数、および拡張機能にロードされた PHP 関数を参照)

#2. 戻り値の型宣言

a) PHP 7 では戻り値の型宣言のサポートが追加されました。パラメーターの型宣言と同様に、戻り値の型宣言では関数の戻り値の型を指定します。使用可能な型は、パラメータ宣言で使用できる型と同じです。

<?php

function arraysSum(array ...$arrays): array
{
    return array_map(function(array $array): int {
        return array_sum($array);
    }, $arrays);
}

print_r(arraysSum([1,2,3], [4,5,6], [7,8,9]));

出力結果は次のとおりです:

Array
(
    [0] => 6
    [1] => 15
    [2] => 24
)

3.null合体演算子

a) 数が多いため、三項式と isset() を同時に使用する場合は、null 合体演算子 (??) の構文糖を追加します。変数が存在し、NULL でない場合はそれ自体の値を返し、それ以外の場合は 2 番目のオペランドを返します。

$username = $_GET['user_name']??'nobody';

4. Spaceship 演算子 (結合比較演算子)

a) spaceship 演算子は 2 つの式を比較するために使用されます。 $a が $b より小さい場合、等しい場合、または $b より大きい場合は、それぞれ -1、0、または 1 を返します。比較の原則は、PHP の通常の比較ルールに従います。

<?php
// 整数
echo 1 <=> 1; // 0
echo 1 <=> 2; // -1
echo 2 <=> 1; // 1

// 浮点数
echo 1.5 <=> 1.5; // 0
echo 1.5 <=> 2.5; // -1
echo 2.5 <=> 1.5; // 1
 
// 字符串
echo "a" <=> "a"; // 0
echo "a" <=> "b"; // -1
echo "b" <=> "a"; // 1
?>
おすすめ関連記事:

PHP7.0 および php7.1 の新構文機能のまとめ

PHP の新機能: finally キーワードの使用法

以上がPHP7で追加された新機能のまとめ(コード付き)の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。