PHP7でHintingと入力します
PHP 7は、スカラー型宣言と戻り型宣言で2種類のヒントを使用します-
- 弱い型のヒント
- 厳密な型のヒント
弱い型のヒント
デフォルトでは、PHP 7は弱い型チェックモードで動作します。弱い型チェックではエラーや致命的なエラーは発生しません。型宣言の不一致が発生した場合、エラーをスローせずにコードを実行するだけです。
strict_typesdeclare()を使用することで、ウィークタイプチェックを制御できます。
declare(strict_types=0); //weak type-checking; we should set the strict value = 0
<?php $x=10; // integer variable x =10 value $y=20.20; // using floating point number y=20.20 value function add(int $x, int $y){ return $x + $y; } echo add($x, $y); ?>
30
上記の例では、パラメータに厳密な値を使用していません。 xとyの2つの整数変数を使用しました。 x =10で、yは浮動小数点数20.20を使用していますが、yはエラーを生成しません。単に出力整数値30を与えるだけです。
<?php function returnadd(int ...$integers){ return array_sum($integers); } var_dump(returnadd(2, '3', 4.1)); ?>
int(9)
厳密な型のヒント
厳密な型ヒントは、型宣言の不一致が発生したときに致命的なエラーを発生させます。厳密な型ヒントは、型宣言の正確な型の変数を受け入れると言えます。そうでない場合は、TypeErrorの不一致がスローされます。
厳密な型のヒントでは、ファイルの最初のステートメントを宣言する必要があります(strict_types =1)。そうしないと、コンパイラエラーが発生します。ファイルで指定されていない他の含まれているファイルには影響しません。つまり、使用されている特定のファイルにのみ影響します。
<?php declare (strict_types=1); function returnadd(float $x , float $y){ return $x+$y; } var_dump(returnadd(3.1,2.1)); //output float(5.2) var_dump(returnadd(3, "2 days")); //fatal error ?>
float(5.2) Fatal error: Uncaught TypeError: Argument 2 passed to returnadd() must be of the type float, string given, called in C:\xampp\htdocs\gud.php on line 7 and defined in C:\xampp\htdocs\gud.php:3 Stack trace: #0 C:\xampp\htdocs\gud.php(7): returnadd(3, '2 days') #1 {main} thrown in C:\xampp\htdocs\gud.php on line 3
<?php declare(strict_types=1); // strict mode checking $x='1'; // string $y=20; //integer number function add(int $x, int $y){ return $x + $y; } var_dump(add($x, $y)); ?>
「致命的なエラー」という出力が生成されます
上記の厳密な型宣言の例で、strict_type値が1であると宣言すると、コードは次の出力を返します。「致命的なエラー:キャッチされないTypeError:add()に渡される引数1はint型でなければなりません。 、文字列が与えられます」。
-
PHP型演算子
はじめに PHPでは、特定の変数が特定のクラスのオブジェクトであるかどうかを確認できます。この目的のために、PHPにはインスタンスがあります オペレーター。 構文 $var instanceof class この演算子はブール値TRUEを返します。$varはクラスのオブジェクトです。それ以外の場合はFALSEを返します 例 次の例では、instanceof演算子は、ユーザー定義のテストクラスの特定のオブジェクトかどうかを確認します 例 <?php class testclass{ //class body } $a=new testclass(); if
-
PHP pi()関数
定義と使用法 pi ()関数は数学定数Πの値を返します。 PHPで定義された事前定義された定数に等しいfloat値3.14159265359を返します--M_PI 構文 pi ( void ) : float パラメータ この関数はパラメータを必要としません 戻り値 PHP pi()関数は、数学定数Πを返し、事前定義された数学定数M-PIと同じです。 M_PIを使用する代わりに、数式でpi()関数を使用できます。 PHPバージョン この関数は、PHPバージョン4.x、PHP 5.x、およびPHP7.xで使用できます。 例 次の例では、円の面積の計算にpi()関数を使用しています。