ホームページ  >  記事  >  バックエンド開発  >  PHP 関数を使用して変数の型を検出する方法を説明します。

PHP 関数を使用して変数の型を検出する方法を説明します。

青灯夜游
青灯夜游オリジナル
2021-08-05 19:09:255717ブラウズ

変数は PHP の中核です。変数を操作する前に、まずその変数がどの型に属するかを把握する必要があります。では、PHP で変数の型を検出するにはどうすればよいでしょうか?次の記事では、変数の型を検出するための PHP の関数をいくつか紹介します。

PHP にはデータ型を検出するための関数が多数用意されていますが、大きく分けて gettype() 関数と is_* クラス関数の 2 種類に分けられます。コード例を通して見てみましょう。

最初に次の例を見てみましょう:

<?php
echo gettype(102) ."<br>";
echo gettype(true) ."<br>";
echo gettype(&#39; &#39;) ."<br>";
echo gettype(null) ."<br>";
echo gettype(array()) ."<br>";
echo gettype(new stdclass());
?>

出力を見てください:

PHP 関数を使用して変数の型を検出する方法を説明します。

gettype() 関数は次の情報を取得できます。変数のタイプ、戻り値は次のとおりです:

  • boolean

  • ##integer

  • double (PHP 4 以降、float の場合は、「float」ではなく「double」を返します)

  • 文字列

  • 配列

  • ##オブジェクト
  • resource
  • (リソース)

    resource は、外部リソースへの参照を保存する特別な変数タイプで、主に PHP 拡張リソースを記述します。リソースは、特殊な機能を通じて作成および使用されます。


  • NULL
  • NULL も特別なデータ型です。値は 1 つだけあり、NULL という値を意味します (つまり、変数には値がありません)。


    #不明な型
  • gettype() 関数には文字列の比較が含まれるため、操作が遅くなります。この関数に加えて、

    is__*
  • 一連の関数を使用して変数の型を検出することもできます。

次の例を見てみましょう: <pre class="brush:php;toolbar:false">&lt;?php header(&quot;Content-type:text/html;charset=utf-8&quot;); $num1 = 123456; $arr = array(1, 2, 3, 4, 5, 6, 7); $bool = false; $str1 = NULL; $str2 = &amp;#39;654321&amp;#39;; $float = 3.1415926; $str3 = &amp;#39;hello!&amp;#39;; class foo { function dosomething() { echo &quot;你好!&quot;; } } $obj = new foo(); if (is_array($arr)) echo &amp;#39;$arr 是数组&amp;#39;; echo &amp;#39;&lt;br&gt;&amp;#39;; if (!is_array($num1)) echo &amp;#39;$num1 不是数组&amp;#39;; echo &amp;#39;&lt;br&gt;&amp;#39;; if (is_numeric($str2)) echo &amp;#39;$str2 是数字&amp;#39;; echo &amp;#39;&lt;br&gt;&amp;#39;; if (is_bool($bool)) echo &amp;#39;$bool 是数字&amp;#39;; echo &amp;#39;&lt;br&gt;&amp;#39;; if (is_float($float)) echo &amp;#39;$float 是浮点类型&amp;#39;; echo &amp;#39;&lt;br&gt;&amp;#39;; if (!is_float($str2)) echo &amp;#39;$str2 不是浮点类型&amp;#39;; echo &amp;#39;&lt;br&gt;&amp;#39;; if (is_int($num1)) echo &amp;#39;$num1 是整数类型&amp;#39;; echo &amp;#39;&lt;br&gt;&amp;#39;; if (!is_int($float)) echo &amp;#39;$float 不是整数类型&amp;#39;; echo &amp;#39;&lt;br&gt;&amp;#39;; if (is_string($str2)) echo &amp;#39;$str2 是字符串&amp;#39;; echo &amp;#39;&lt;br&gt;&amp;#39;; if (is_object($obj)) echo &amp;#39;$obj 是一个对象&amp;#39;; echo &amp;#39;&lt;br&gt;&amp;#39;; if (!isset($str1)) echo &amp;#39;$str1 未定义或则值为 NULL&amp;#39;; ?&gt;</pre>出力を見てください:

is_* 異なる関数を持つ複数の関数シリーズ 変数のデータ型を個別に確認できる関数です。よく使用されるいくつかのチェック関数を見てみましょう:

PHP 関数を使用して変数の型を検出する方法を説明します。1. is_int(): 変数

$var

が整数型 (integer) であるかどうかをチェックします (

$var# の場合)。 # #はいの場合は TRUE が返され、それ以外の場合は FALSE が返されます。構文は "

is_int($var)"、エイリアスは is_integer() です。 2. is_float(): 変数 $var が浮動小数点型かどうかを確認します。$var

が浮動小数点型の場合は TRUE を返し、それ以外の場合は FALSE を返します。構文 "

is_float($var)"、is_real() というエイリアス。 3. is_string(): 変数 $var が文字列型かどうかを確認します。$var

が文字列型の場合は TRUE を返し、それ以外の場合は FALSE を返します。構文 "

is_string($var)"。 4. is_array(): 変数 $var が配列であるかどうかを確認します。$var

が配列である場合は TRUE を返し、それ以外の場合は FALSE を返します。構文 "

is_array ($var)」。 5. is_object(): 変数 $var がオブジェクトであるかどうかを確認します。$var

がオブジェクトである場合は TRUE を返し、それ以外の場合は FALSE を返します。構文 "

is_object($var)"。 6, is_numeric(): 変数 $var が数値または数値文字列であるかどうかを確認します。$var

が数値または数値文字列である場合は TRUE を返し、それ以外の場合は FALSE を返します。構文「

is_numeric($var)」。 わかりました。これですべてです。他に知りたいことがある場合は、これをクリックしてください。 → →php ビデオ チュートリアル

最後に、PHP 配列に関する無料のビデオ チュートリアルをお勧めします。

PHP 関数 配列 配列関数のビデオ説明、ぜひ学んでください。

以上がPHP 関数を使用して変数の型を検出する方法を説明します。の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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