PHPのデータ型の閲覧とデータ型の判定
データの種類がわかった後でのみ次のステップに進むことができます。後で、カスタム関数 (関数) についてさらに知識を学ぶことができます。
シーン シミュレーションを実行してみましょう: (注: この関数の書き方を今知る必要はありません。その方法は後で説明します)
スマート関数 (関数) を作成できるとします。生徒の成績のスプレッドシートでファイルを開く機能。この機能は非常に高度です。
1. 人物が 1 人の場合、スコアは整数または浮動小数点変数で返されます。
2. 2人以上いる場合は配列型の変数を返し、その配列には複数人のスコアが含まれます
3. 2人以上いない場合はブール型の変数を返し、変数の値はfalseになります
上記のシナリオのシミュレーションを通じて、関数 (関数) が異なるデータ型を返す可能性があることがわかりました。したがって、さまざまなタイプに基づいてさまざまな操作を行うことができます。
データ型の決定は非常に重要であり、厳密にマスターする必要があります。
【暗黙知のポイント】型を表示する関数、型を取得する関数、型を判定する関数
データ型を見る
1.gettype(変数に渡す)で変数の型を取得できる
2 .var_dump (変数を渡す) は変数の型と値を出力します
<?php //声明一个变量88.8,你可以自己多做几次实验换成其他类型看看$type输出是多少 $float = 88.8; $type = gettype($float); echo $type; ?>
<?php //多换几个类型试试 $str = '你喜欢尊上还是喜欢杀仟陌?'; var_dump($str); ?>
でデータ型を決定します
is_* 系列の関数を使用します。 is_types 一連の関数は、何かが特定のタイプであるかどうかを判断するために使用されます。このタイプの場合は true を返し、そうでない場合は false を返します。
is_int 整数ですか
is_bool ブール値ですか
is_float 浮動小数点ですか
is_string 文字列ですか
is_array 配列ですか
is_object オブジェクトですか
is_null 空ですか
is_resource リソースですか
is_scalar スカラーですか
is_numeric は数値型ですか? is_callable は関数ですか
<?php //is_* 系列函数有个特点,就是如果是这个类型就返回的是真。不是这个数据类型就返回的是假 //声明类型为假 $fo = false; if(is_bool($fo)){ echo '执行真区间'; }else{ echo '执行假区间'; } //检查未声明的变量$p是否为空,为空就执行真区间 if(is_null($p)){ echo '执行真区间'; }else{ echo '执行假区间'; } echo "<br/>"; //字符串类型的数值,看看执行的是真还是假 $str = '18.8'; if(is_numeric($str)){ echo '执行真区间'; }else{ echo '执行假区间'; } echo "<br/>"; //把sca的值换成整型、浮点、布尔和字符串试试 $sca = true; //如果为标量,执行真区间 if(is_scalar($sca)){ echo '执行真区间'; }else{ echo '执行假区间'; } echo "<br/>"; //换成echo,is_int试试,为什么echo执行假区间呢? if(is_callable('var_dump')){ echo '执行真区间'; }else{ echo '执行假区间'; } ?>
注: is_types は覚えやすいです。 is_ の前後の型をたどるだけです。 変数: int、float、bool、string 混合型: 配列、オブジェクト特殊な型: null、リソース (リソース)、コールバック (コールバック) 最後の実験で echo が偽の間隔を実行したのはなぜですか?
答え: echo は関数ではないため、基本的な構文です。今のところ、関数と基本構文の違いを理解する必要はありません。理解しても理解していなくても、実際の開発には影響しません。あなたにはこの知識があることを知っておいてください。