Jenis skalar PH...LOGIN

Jenis skalar PHP dan pengisytiharan jenis nilai pulangan


Pengisytiharan jenis skalar

Secara lalai, semua fail PHP berada dalam mod semakan jenis lemah.

PHP 7 menambah ciri pengisytiharan jenis skalar Terdapat dua mod untuk pengisytiharan jenis skalar:

  • Mod paksa (lalai)
  • Mod ketat

Format sintaks pengisytiharan jenis skalar:

declare(strict_types=1);

Nilai strict_types (1 atau 0) dinyatakan dalam kod 1 menunjukkan mod semakan jenis ketat, yang digunakan untuk panggilan fungsi dan penyataan kembali; 0 menunjukkan mod pemeriksaan Jenis yang lemah.

Parameter jenis yang boleh digunakan ialah:

  • int

  • terapung

  • bool

  • rentetan

  • antaramuka

  • array

  • <>< . atur cara ialah:
  • <?php 
    // 强制模式 
    function sum(int ...$ints) 
    { 
       return array_sum($ints); 
    } 
    
    print(sum(2, '3', 4.1)); 
    ?>

    Ringkasan contoh menukar parameter 4.1 kepada integer 4 dan kemudian menambahnya.

  • Contoh Mod Tegas

Contoh
9

Memandangkan atur cara di atas menggunakan mod ketat, jika jenis integer yang tidak sesuai muncul dalam parameter, ralat akan Dilaporkan. Outputnya ialah:
<?php 
// 严格模式 
declare(strict_types=1); 

function sum(int ...$ints) 
{ 
   return array_sum($ints); 
} 

print(sum(2, '3', 4.1)); 
?>

Pengisytiharan jenis pulangan

PHP 7 menambah sokongan untuk pengisytiharan jenis pulangan, yang menentukan jenis nilai pulangan fungsi.

Jenis pemulangan yang boleh diisytiharkan ialah:

int


terapung

bool

  • rentetan

  • antaramuka

  • array

  • <>
  • boleh dipanggil

  • Tokoh pengisytiharan jenis pengembalian

  • Instance, hasil pengembalian diperlukan untuk menjadi integer:
  • Instance
  • PHP Fatal error:  Uncaught TypeError: Argument 2 passed to sum() must be of the type integer, string given, called in……
  • Hasil output pelaksanaan atur cara di atas ialah:

    <?php
    declare(strict_types=1);
    
    function returnIntValue(int $value): int
    {
       return $value;
    }
    
    print(returnIntValue(5));
    ?>
  • Kembali contoh ralat pengisytiharan jenis

Instance

5

Atur cara di atas menggunakan mod ketat, nilai pulangan mestilah int, tetapi hasil pengiraan adalah terapung, jadi ralat akan dilaporkan Hasil output pelaksanaan ialah:

<?php
declare(strict_types=1);

function returnIntValue(int $value): int
{
   return $value + 1.0;
}

print(returnIntValue(5));
?>

bahagian seterusnya
<?php // 强制模式 function sum(int ...$ints) { return array_sum($ints); } print(sum(2, '3', 4.1)); ?>
babperisian kursus