类型提示与类型检查

除了手动验证数据类型,我们还可以依赖 PHP 7 中的类型提示。
为此,我们只需“提示”函数或者方法参数的类型:

function (string $input_string) {
  return 'Success: <pre>'.$input_string.'</pre> was valid.';
}

如果输入无效,则会抛出 E_ERROR "Uncaught TypeError",而我们无需自己进行任何验证。

如果为函数提供整数而不是字符串,PHP 将不会输出任何错误。
这是由于 PHP 的自动类型杂耍,它认为 '500' 与 500 相同。
在大多数情况下,这应该不会引起任何问题,但是如果要启用严格的类型检查,可以通过在 index.php 的顶部包含以下内容来修复它:

<?php declare(strict_types=1);
PHP如何检查变量是否为字符串

要检查变量是否为 string ,我们可以使用 is_string 函数;如果输入是字符串,则此函数将返回 true,否则返回 false。

要使用 is_string 函数,我们可以编写一个 if 语句:

$my_name = 'Thomas';
if (is_string($my_name)) {
  echo '$my_name is a string.';
}

当使用 is_string();在验证参数的函数中,我们可以这样做:

function ($input_string) {
  if (!is_string($input_string)) {
    echo 'Invalid input. Only string types is allowed!';
    exit();
  }
  //Return the string if valid
  return 'Success: <pre>'.$input_string.'</pre> was valid.';
}

这也是验证输入变量或者函数参数类型的有用方法;但类型提示是更好的选择。

日期:2020-06-02 22:16:48 来源:oir作者:oir