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

青灯夜游
リリース: 2023-04-10 14:24:02
オリジナル
5780 人が閲覧しました

変数は 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__*
  • 一連の関数を使用して変数の型を検出することもできます。

次の例を見てみましょう: <div class="code" style="position:relative; padding:0px; margin:0px;"><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><div class="contentsignin">ログイン後にコピー</div></div>出力を見てください: <p></p> <p></p>is_* 異なる関数を持つ複数の関数シリーズ 変数のデータ型を個別に確認できる関数です。よく使用されるいくつかのチェック関数を見てみましょう: <p><img src="https://img.php.cn/upload/image/865/167/787/162816060580903PHP%20%E9%96%A2%E6%95%B0%E3%82%92%E4%BD%BF%E7%94%A8%E3%81%97%E3%81%A6%E5%A4%89%E6%95%B0%E3%81%AE%E5%9E%8B%E3%82%92%E6%A4%9C%E5%87%BA%E3%81%99%E3%82%8B%E6%96%B9%E6%B3%95%E3%82%92%E8%AA%AC%E6%98%8E%E3%81%97%E3%81%BE%E3%81%99%E3%80%82" title="162816060580903PHP 関数を使用して変数の型を検出する方法を説明します。" alt="PHP 関数を使用して変数の型を検出する方法を説明します。">1. is_int(): 変数 </p>$var<p> が整数型 (integer) であるかどうかをチェックします (</p>$var# の場合)。 # #はいの場合は TRUE が返され、それ以外の場合は FALSE が返されます。構文は "<p>is_int($var)<code>"、エイリアスは 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 サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート