PHP
 Computer >> コンピューター >  >> プログラミング >> PHP

PHP8の混合疑似タイプ


PHP 8の混合型は、新しい組み込みの共用体型です。混合型は、 array | bool | callable | int | floatと同等です。 。タイプを混合することは、タイプを完全に省略することとはまったく似ていません。

つまり、プログラマーはそれを書くのを忘れただけです。

プログラマーは、古いバージョンとの互換性を維持するために、特定のタイプを省略したい場合があります。

PHP 8の混合型は、任意の型のプロパティ/リターン/パラメーターを取ることができます。これには、null、callable、resource、すべてのクラスオブジェクト、またはPHPのすべてのスカラー型が含まれていると言えます。混合型は、共用体型と同等です。

int|float|bool|string|null|array|object|callable|resource

例:PHP8の混合型

<?php
   class Student{
      public mixed $studentProperty;
      public function emp(mixed $emp): mixed {}
   }
?>
  • PHP 8では、Mixedは疑似/仮想タイプです。これは、PHPが処理できるいくつかのタイプを表します。つまり、ロジックを作成しないため、変数を混合にキャストすることはできません。

$foo = (mixed) $bar;

注: gettype()およびget_debug_type()関数は、変数の型として混合を返すことはできません。

  • 他のタイプと組み合わせて使用​​することはできません。

function(mixed|FooClass $bar): int|mixed {}

注: 上記のコードでは、両方の共用体タイプは許可されておらず、致命的なエラーが発生します。

出力

Fatal error: Type mixed can only be used as a standalone type
in C:\xampp\htdocs\gud.php on line 2

例:混合型を使用したPHP8プログラムコード

<?php
   function debug_function(mixed ...$data){
      print_r($data);
   }
   debug_function(10, 'string', []);
?>

出力

Array
(
   [0] => 10
   [1] => string
   [2] => Array
   (
   )
)

  1. PHP型演算子

    はじめに PHPでは、特定の変数が特定のクラスのオブジェクトであるかどうかを確認できます。この目的のために、PHPにはインスタンスがあります オペレーター。 構文 $var instanceof class この演算子はブール値TRUEを返します。$varはクラスのオブジェクトです。それ以外の場合はFALSEを返します 例 次の例では、instanceof演算子は、ユーザー定義のテストクラスの特定のオブジェクトかどうかを確認します 例 <?php class testclass{    //class body } $a=new testclass(); if

  2. 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()関数を使用しています。