PHPでソースコードを書いていて、最も利用する関数だ。一方、この関数が書かれたまま、製品となることもない。開発期間中最もタイピングされては、消される関数…。これを使いこなさないで開発している方は、かなりの時間を無駄にしていることかと思われます。
##文字列
<?php
// 文字列型
$str = 'ここはテキストです。';
var_dump($str);
###出力
string(30) "ここはテキストです。"
最初に出力されている string
が「型」(30)
というのはバイト単位での、長さ。そのあとに、$str
に代入されている値が表示されます。
##整数型
<?php
// 整数型
$int = 1000;
var_dump($int);
###出力
int(1000)
文字列と同様に、最初の出力は int
と表示され、int型
であることがわかります。 int
の場合、()
の中に$int
に代入された値が表示されます。
##小数点を含む数値
<?php
// 小数点を含む数値
$number = 1.234;
var_dump($number);
###出力
double(1.234)
整数と同様に出力されます。型はdouble
となる。
##"
で囲まれた数値
<?php
$number = '1.234';
var_dump($number);
###出力
string(5) "1.234"
"
で囲まれたものは文字列となる。
##NULL
<?php
// NULL
$null = null;
var_dump($null);
###出力
NULL
NULL
とだけ表示される。
##空文字列
<?php
// 空文字列
$empty = '';
var_dump($empty);
###出力
string(0) ""
string型
であることが表示され、""
と表示される。
##配列
<?php
// 配列
$array = [
'あ', 'い', 'う', 'え', 'お'
];
var_dump($array);
###出力
array(5) {
[0] =>
string(3) "あ"
[1] =>
string(3) "い"
[2] =>
string(3) "う"
[3] =>
string(3) "え"
[4] =>
string(3) "お"
}
一番最初に array
と表示され、配列
であることがわかるように表示される。array(5)
とカッコの中の数字は、配列が持つデータの数を表している。 []
の中に表示された数字は index
で 0 からの通し番号。
たとえば、「う」という文字列(「う」の直前には string
と表示されている)を出力したいとき、
echo $array[2];
と記述すれば、出力される。
##連想配列
<?php
// 連想配列
$hash = [
'user' => 'あ', 'email' => 'user@example.com'
];
var_dump($hash);
###出力
array(2) {
'user' =>
string(3) "あ"
'email' =>
string(16) "user@example.com"
}
配列と同じように、array と表示され、array型
であることがわかる。
たとえば、user@example.com
を出力したいとき、
echo $arr['email'];
と記述すれば良い。[]
の中に記述する email
についても、var_dump() の結果を見ればわかる。=>
を挟んだ位置関係に注目すれば、配列
と同様です。
##多重配列
<?php
// 多重配列
$multipleArray = [
[1, 2, 3, 4]
, ['あ', 'い', 'う', 'え']
, ['a', 'b', 'c', 'd']
];
var_dump($multipleArray);
###出力
array(3) {
[0] =>
array(4) {
[0] =>
int(1)
[1] =>
int(2)
[2] =>
int(3)
[3] =>
int(4)
}
[1] =>
array(4) {
[0] =>
string(3) "あ"
[1] =>
string(3) "い"
[2] =>
string(3) "う"
[3] =>
string(3) "え"
}
[2] =>
array(4) {
[0] =>
string(1) "a"
[1] =>
string(1) "b"
[2] =>
string(1) "c"
[3] =>
string(1) "d"
}
}
複雑に見えるが、単なる組み合わせに過ぎない。=>
の左側に注目すれば、データへのアクセスも簡単だ。
たとえば、「b」を出力したいとき、=>
の左側に書かれているものを辿ればいいだけだ。
[1] → [2] → array これを逆にすればいい。
echo $multipleArray[2][1];
##クラス・オブジェクト
<?php
// クラス・オブジェクト
class Clazz
{
private $private = 'プライベート・プロパティ';
protected $protected = 'プロテクテッド・プロパティ';
public $public = 'パブリック・プロパティ';
}
$clazz = new Clazz();
var_dump($clazz);
###出力
class Clazz#1 (3) {
private $private =>
string(36) "プライベート・プロパティ"
protected $protected =>
string(39) "プロテクテッド・プロパティ"
public $public =>
string(33) "パブリック・プロパティ"
}
var_dump($clazz)
つまり $clazz
は Clazz
と言う名前の class
だと表示される。
配列の時と出力形式は似ているが、$clazz['private']
のように書いてもデータにはアクセスできない。なおかつ、アクセスできるのは、public
と表示されているものに限られる。
データにアクセスするには、
echo $clazz->public;
と記述する。class
や object
の場合、->
を使ってアクセスしなければならない。