ホームページ  >  記事  >  バックエンド開発  >  PHP関数で変数の型を判断するにはどうすればよいですか?

PHP関数で変数の型を判断するにはどうすればよいですか?

王林
王林オリジナル
2024-04-17 12:12:01961ブラウズ

PHP では、gettype() 関数を通じて変数の型を取得できます。この関数は、文字列、整数などの文字列の形式で型情報を返します。さらに、 is_* 関数シリーズを使用して特定の型を判別することができます。たとえば、 is_string() を使用して文字列かどうかを判別できます。

如何在 PHP 函数中判断变量类型?

#PHP 関数で変数の型を決定するにはどうすればよいですか?

PHP では、変数の型を決定する最も便利な方法は、gettype() 関数を使用することです。この関数は、変数の型を表す文字列を返します。以下に例をいくつか示します。

$variable = 'string';
echo gettype($variable); // 输出:string

$variable = 123;
echo gettype($variable); // 输出:integer

$variable = 123.45;
echo gettype($variable); // 输出:double

$variable = true;
echo gettype($variable); // 输出:boolean

$variable = [];
echo gettype($variable); // 输出:array

$variable = new stdClass();
echo gettype($variable); // 输出:object

gettype() 関数に加えて、PHP では特定の型をテストするための is_* ファミリの関数も提供しています。例:

$variable = 'string';
if (is_string($variable)) {
  echo '变量是字符串';
}

実用的なケース

さまざまな型の要素を含む配列があり、型に基づいて配列を分類したいとします。次の関数を使用できます。

function categorizeVariables(array $variables): array
{
  $categorizedVariables = [];

  foreach ($variables as $key => $variable) {
    switch (gettype($variable)) {
      case 'string':
        $categorizedVariables['strings'][$key] = $variable;
        break;
      case 'integer':
        $categorizedVariables['integers'][$key] = $variable;
        break;
      case 'double':
        $categorizedVariables['doubles'][$key] = $variable;
        break;
      case 'boolean':
        $categorizedVariables['booleans'][$key] = $variable;
        break;
      case 'array':
        $categorizedVariables['arrays'][$key] = $variable;
        break;
      case 'object':
        $categorizedVariables['objects'][$key] = $variable;
        break;
    }
  }

  return $categorizedVariables;
}

上の例では、 categorizeVariables 関数は、配列要素をさまざまなカテゴリ (String、Integer、Double、Boolean、配列) に分類する関数を返します。およびオブジェクト) 連想配列。

以上がPHP関数で変数の型を判断するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。