ホームページ >バックエンド開発 >PHPチュートリアル >PHP7におけるスカラー型宣言の使い方を詳しく解説

PHP7におけるスカラー型宣言の使い方を詳しく解説

黄舟
黄舟オリジナル
2018-05-14 16:05:262717ブラウズ

この記事では主に PHP7 のスカラー型宣言の使い方を紹介し、PHP7 でのスカラー型宣言の機能、特徴、および関連する使用スキルを例の形式で分析します。 PHP7 スカラー型宣言と使用例。詳細は以下のとおりです。実行効率を向上させるために、php7 では、関数メソッドにスカラー型 (ブール、浮動小数点、整数、文字) の宣言機能が追加され、 の検出が省略されます。データ型

php7 は引き続き弱い型の検出をサポートします。つまり、仮パラメーターは引き続き元の方法で宣言できます。

スカラー宣言には 2 つの特徴があります:

強制モード (デフォルト): 型変換に反映

strict モード

モード宣言:declare(strict_types=1);

default 値は0、値 1 は厳密検証モードを表します。

使用できる型パラメータ:

int-float-bool-string-interfaces-array-callable

形式的な参加の戻り値の型の説明に基づいて動作します。

形式的なパラメータ


//强制模式
<?php
/**
 * Created by PhpStorm.
 * User: bee
 * Date: 2016/4/22
 * Time: 10:17
 */
// php7之前申明方式
function type_weak(... $int){
  return array_sum($int);
}
// 强制模式 php7声明方式
//强制模式下会将所有实参转换为整型
function sum(int ... $ints)
{
  //array_sum() 将数组中的所有值的和以整数或浮点数的结果返回。
  print_r($ints);
  echo "<br>";
  return array_sum($ints);
}
echo type_weak(2, &#39;3&#39;,0.11);
echo "<hr>";
echo sum(2, &#39;3&#39;,0.11);

操作効果図は次のとおりです。

//将模式申明为严格模式
<?php
/**
 * Created by PhpStorm.
 * User: bee
 * Date: 2016/4/22
 * Time: 10:17
 */
 //declare 必须在文件首部
declare(strict_types=1);
// 强制模式(默认)
function type_weak(... $int){
  return array_sum($int);
}
// 强制模式
function sum(int ... $ints)
{
  //array_sum() 将数组中的所有值的和以整数或浮点数的结果返回。
  print_r($ints);
  echo "<br>";
  return array_sum($ints);
}
echo type_weak(2, &#39;3&#39;,0.11);
echo "<hr>";
//实参存在字符串与浮点型,报错
echo sum(2, &#39;3&#39;,0.11);

動作効果図は以下の通りです:

戻り値

<?php
/**
 * Created by PhpStorm.
 * User: bee
 * Date: 2016/4/22
 * Time: 10:17
 */
declare(strict_types=0);
// 强制模式(默认)
function type_weak(... $int) :int{
  return array_sum($int);
}
// 强制模式
function sum(int ... $ints) :int
{
  //array_sum() 将数组中的所有值的和以整数或浮点数的结果返回。
  print_r($ints);
  echo "<br>";
  //严格模式下报错
  return array_sum($ints)+0.6;
}
echo type_weak(2, &#39;3&#39;,0.11);
echo "<hr>";
echo sum(2, &#39;3&#39;,0.11);

動作効果図は以下の通りです:

以上がPHP7におけるスカラー型宣言の使い方を詳しく解説の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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