آموزش PHP 7، بخش 3: تعریف نوع داده عددی

آموزش PHP 7، بخش 3: تعریف نوع داده عددی

در PHP 7 قابلیت جدید برای تعریف نوع داده عددی معرفی شد که اصطلاحا به آن Scalar type declarations گفته می شود و دو حالت می تواند داشته باشد.

  • coercive: در این حالت زمانی که نوع داده مورد انتظار نباشد، بطور خودکار تبدیل می شود. این حالت پیشفرض است و نیازی به ست کردن ندارد. 
  • strict: در این حالت اگر نوع داده مورد انتظار نباشد، خطایی صادر می شود.

نوع داده های زیر می توانند بعنوان پارامترهای تابع تعیین شود.

  • int
  • float
  • bool
  • string
  • interfaces
  • array
  • callable

مثال حالت Coercive 

<?php
   // Coercive mode
   function sum(int ...$ints) {
      return array_sum($ints);
   }
   print(sum(2, '3', 4.1));
?>

با اجرای کد فوق خروجی بشکل زیر خواهد بود

9

مثال حالت Strict

<?php
   // Strict mode
   declare(strict_types=1);
   function sum(int ...$ints) {
      return array_sum($ints);
   }
   print(sum(2, '3', 4.1));
?>

با اجرای کد فوق خروجی بشکل زیر خواهد بود

Fatal error: Uncaught TypeError: Argument 2 passed to sum() must be of the type integer, string given, ...



بومیم