![見出し画像](https://assets.st-note.com/production/uploads/images/57467487/rectangle_large_type_2_78e451a8ced31f6cd7a5caf9e2bf27c9.png?width=1200)
【PHP】 変数の情報を表示する var_dump 関数
PHP には「変数の情報」を表示する var_dump 関数があります。
「変数の情報」とは具体的に下記のことです。
・ 変数に代入されている値
・ 変数に代入されている値の型
PHP マニュアルの説明を見てみましょう。
var_dump
変数に関する情報をダンプする
引用元:PHP: var_dump - Manual
dump (ダンプ)とは英語では「放出する」「投げ捨てる」などの意味を持ちますが、この場合は「出力する」「表示する」の意味で捉えると理解しやすいです。
変数のことを英語で variable (ヴァリアブル)と言います。
変数の情報を表示する関数なので、var_dump という関数名になっています。
関数名が英語なので var_dump という名前を見ただけでは、何をする関数なのかわからないと思いますが、それぞれの意味を調べることで何をする関数なのか推測することができます。
自分で変数や関数を命名するときの参考にもなりますので、変数名や関数名にどのような意味があるのか意識するようにしましょう。
var_dump は関数なので、引数に表示したい変数名を記述します。
[ var_dump 関数の記述 ]
var_dump(変数名)
実際に var_dump 関数を使ってみましょう。
[ サンプルコード ]
<?php
$var = 'おはよう';
var_dump($var);
[ 表示結果 ]
string(12) "おはよう"
実行結果:3v4l
var 変数には おはよう という文字列型( string )が代入されています。
var_dump した表示結果にも string と表示されています。
変数に代入されている値は文字列型ということがわかります。
() 内の 12 というのは文字列の長さです。
文字列の長さと言ってもバイト数で表しています。
日本語はマルチバイト文字と呼ばれ、1 文字 1 バイトではありません。
おはよう の場合は 1 文字を 3 バイトで表しているため、全部で 12 バイトになります。
そのため、12 と表示されています。
文字列型の場合は、var_dump すると () 内にバイト数が表示されます。
文字列型以外の場合はバイト数は表示されません。
バイトという単位についての詳細はここでは割愛しますので、気になる方は調べてみてください。
先ほど、var_dump 関数を使って 1 つの変数の情報を表示しました。
複数の変数を表示したい場合は、カンマ区切りでまとめて記述することができます。
[ まとめて記述する方法 ]
var_dump(変数名,変数名,変数名,変数名)
次は、文字列型以外の値も var_dump してみましょう。
[ サンプルコード ]
<?php
$var1 = 123;
$var2 = '123';
$var3 = true;
$var4 = ['りんご','バナナ','メロン'];
var_dump($var1,$var2,$var3,$var4);
[ 表示結果 ]
int(123)
string(3) "123"
bool(true)
array(3) {
[0]=>
string(9) "りんご"
[1]=>
string(9) "バナナ"
[2]=>
string(9) "メロン"
}
実行結果:3v4l
$var1 には 123 という整数型が代入されています。
$var2 の場合は、123 をシングルクォーテーションで囲ってますので、整数型ではなく文字列型です。
$var2 には 123 という文字列型が代入されています。
$var3 には true という論理値が代入されています。
$var4 には 配列が代入されています。
表示結果を見てわかる通り、var_dump 関数を使うことで変数に代入された値と型を確認することができます。
PHP のコードを書いたり、読んだりしているときに変数にどのような値・型が代入されているのか確かめたいことが多々あります。
そのようなときは、var_dump 関数を使って確認することができます。
var_dump 関数はよく使いますので、覚えておいてください。
いいなと思ったら応援しよう!
![7968](https://assets.st-note.com/production/uploads/images/14302271/profile_26abf5df6cbc821bf81dcb251cd7d420.jpg?width=600&crop=1:1,smart)