プログラミング、フリーダイビング、ブロックチェーンのブログ

プログラミング道場

私がオススメするプログラミング教材です

私がおすすめするプログラミング教材のまとめ【書籍】

目次1 これからエンジニアになりたい人へ向けた本2 プログラミング言語3 アプリ開発4 サーバー、インフラ、セキュリティなど5 機械学習系6 ゲーム開発7 データベース8 デザイン9 組織作り10 自作シリーズ11 その他12 おまけ これ ...

続きを見る

【PHP入門】print_r,var_dump,var_exportを使ったデバッグ方法

更新日:

記事の内容


この記事では、print_r, var_dump, var_exportを使ったデバッグ方法を説明します。
PHPのバージョンは、7系です。

print_r

配列の中身を表示

<?php
$array_1 = [
'Japan' => '日本',
'China' => '中国',
'America' => 'アメリカ',
'South East' => ['タイ', 'ベトナム', 'フィリピン']
];
print_r($array_1);
// Array
// (
// [Japan] => 日本
// [China] => 中国
// [America] => アメリカ
// [South East] => Array
// (
// [0] => タイ
// [1] => ベトナム
// [2] => フィリピン
// )
// )
# パラメータがTRUE の場合は、この関数はstringを返します
$string = print_r($array_1, true);
print_r($string);
// Array
// (
// [Japan] => 日本
// [China] => 中国
// [America] => アメリカ
// [South East] => Array
// (
// [0] => タイ
// [1] => ベトナム
// [2] => フィリピン
// )
// )

配列の中身をファイルに書き出す

<?php
$array_1 = [
'Japan' => '日本',
'China' => '中国',
'America' => 'アメリカ',
'South East' => ['タイ', 'ベトナム', 'フィリピン']
];
# パラメータがTRUE の場合は、この関数はstringを返します
$print_r_string = print_r($array_1, true);
$file = 'print_r.txt';
file_put_contents($file, $print_r_string);

var_dump

var_dumpも変数を出力しますが、print_rとは表示する形式が異なります。
また、「__debugInfo」を使うことで、オブジェクトの出力形式を変更することができます。

<?php
$array_1 = [
'Japan' => '日本',
'China' => '中国',
'America' => 'アメリカ',
'South East' => ['タイ', 'ベトナム', 'フィリピン']
];
var_dump($array_1);
// array(4) {
// ["Japan"]=>
// string(6) "日本"
// ["China"]=>
// string(6) "中国"
// ["America"]=>
// string(12) "アメリカ"
// ["South East"]=>
// array(3) {
// [0]=>
// string(6) "タイ"
// [1]=>
// string(12) "ベトナム"
// [2]=>
// string(15) "フィリピン"
// }
// }
class Person {
public $name;
public $age;
public function __construct($name, $age)
{
$this->name = $name;
$this->age = $age;
}
}
$taro = new Person('太郎', 30);
var_dump($taro);
// object(Person)#1 (2) {
// ["name"]=>
// string(6) "太郎"
// ["age"]=>
// int(30)
// }
# __debugInfoを使用すると、オブジェクトのvar_dumpの出力を変更することができます
class NewTypePerson {
public $name;
public $age;
public function __construct($name, $age)
{
$this->name = $name;
$this->age = $age;
}
public function __debugInfo()
{
return ['名前は' => $this->name . 'です', '年齢は' => $this->age * 2];
}
}
$taro = new NewTypePerson('太郎', 30);
var_dump($taro);
// object(NewTypePerson)#2 (2) {
// ["名前は"]=>
// string(12) "太郎です"
// ["年齢は"]=>
// int(60)
// }

var_export

var_exportも変数を出力しますが、print_rやvar_dumpとは表示する形式が異なります。

<?php
$array_1 = [
'Japan' => '日本',
'China' => '中国',
'America' => 'アメリカ',
'South East' => ['タイ', 'ベトナム', 'フィリピン']
];
var_export($array_1);
// array (
// 'Japan' => '日本',
// 'China' => '中国',
// 'America' => 'アメリカ',
// 'South East' =>
// array (
// 0 => 'タイ',
// 1 => 'ベトナム',
// 2 => 'フィリピン',
// ),
// )
echo PHP_EOL;
# 第二引数にtrueを入れると文字列を返します。
$result = var_export($array_1, true);
var_export($result);
// 'array (
// \'Japan\' => \'日本\',
// \'China\' => \'中国\',
// \'America\' => \'アメリカ\',
// \'South East\' =>
// array (
// 0 => \'タイ\',
// 1 => \'ベトナム\',
// 2 => \'フィリピン\',
// ),
// )'

PHPをより詳しく勉強したい人には、この記事がオススメです

PHPの学習でおすすめの本と動画【2024年最新】

▼ Laravelについてはこの記事で、バージョンごとに紹介しています 目次1 動画教材2 初心者向け【入門編】3 中級者向け 動画教材 【PHP入門】2ちゃんねる掲示板クローンを作りながらPHPとMySQLの基礎と本質をマスターするPHP ...

続きを見る


Laravelをより詳しく勉強したい人には、この記事がオススメです

Laravelの学習でおすすめの本と動画【2024年最新】

目次1 動画教材2 Laravel63 Laravel84 Laravel9 動画教材 【Laravel】【Vue.js3】で【CRM(顧客管理システム)】をつくってみよう ▼ 興味がある方は、画像をクリック 受講者向けアンケートでご要望の ...

続きを見る


WordPressをより詳しく勉強したい人には、この記事がオススメです

WordPressの学習でおすすめの本【2023年最新】

目次1 初心者向け2 中級者向け 初心者向け いちばんやさしいWordPressの教本 第4版 5.x対応 これからワードプレスを始める初心者にオススメの本です。 手早くサイトを作りたい人は、この本を買いましょう^^ 非常にわかりやすいです ...

続きを見る


Rubyをより詳しく勉強したい人には、この記事がオススメです

Rubyの学習でおすすめの本と動画【2024年最新】

▼ Ruby on Railsについては、この記事で紹介しています 目次1 動画教材2 初心者向け【入門編】3 中級者向け4 上級者向け 動画教材 "ちゃんと" Ruby を学ぼう! ー オブジェクト指向機能ってなんだ? ▼ 興味がある方は ...

続きを見る


Javaをより詳しく勉強したい人には、この記事がオススメです

Javaの学習でおすすめの本と動画【2024年最新】

▼ Spring Bootの勉強をしたい人には、この記事がおすすめです 目次1 動画教材2 初心者向け3 中級者向け 動画教材 動画でわかる Java入門講座 基本~オブジェクト編 ▼ 興味がある方は、画像をクリックして下さい 「初心者向け ...

続きを見る


Gitをより詳しく勉強したい人には、この記事がオススメです

Gitの学習でおすすめの本と動画【2024年最新】

目次1 動画教材2 漫画?でわかりやすく学ぶ入門書の定番3 初心者向け4 中級者向け5 上級者向け 動画教材 もう怖くないGit!チーム開発で必要なGitを完全マスター ▼ 興味がある方は、画像をクリック Gitの基本コマンド、ブランチやマ ...

続きを見る


Perlをより詳しく勉強したい人には、この記事がオススメです

Perlの学習でおすすめの本と動画【2024年最新】

目次1 動画教材2 初心者向け3 中級者向け 動画教材 Learn Perl 5 By Doing It ▼ 興味がある方は、画像をクリック 英語版です。 Webスクレイピングからデータの修正まで、実際に使えるPerlプログラムを作成しなが ...

続きを見る


ゼロからWebエンジニアになりたい人には、この記事がオススメです

ゼロからWebエンジニアとして就職する方法【何もない自分に積み上げていく】

ちまたには、「エンジニアになるための情報」で溢れかえっています。 ジョージさんが考える「Webエンジニアになる方法」を教えて下さい。 目次1 私が定義するWebエンジニア2 必ずやるべきこと3 推奨されること4 まとめ 私が定義するWebエ ...

続きを見る


独学で実務っぽい経験を積みたい人には、この記事がオススメです

エンジニアが独学で実務経験っぽいことを学ぶ方法

エンジニアとして就職するためには実務経験が大事だと聞いていますが、就職しないことには実務経験を積むことができません。 どうやって、最初の実務経験を積んだらいいでしょうか? 目次1 スクールの理想と現実2 IT業界が抱える矛盾点3 擬似的に実 ...

続きを見る

-PHP, プログラミング

S