このページについて
このページではphpで使えるprint_r関数の機能と使い方解説をしています。
print_r
print_r関数は変数の情報を見ることができる関数です。類似関数としてvar_dumpなどもありますが、まずはprint_rの基本的な書き方から。
print_r(変数,ブール値);
変数には調べたい変数を設定します。これは1つだけ設定可能です。そして後半のブール値はtureかfalseで設定します。デフォルトでfalseが設定されていて、特に変更する必要が無い場合は省略可能です。それぞれ詳しく見ていきます。
変数はそのままの意味で、調べたい変数を設定するだけですね。こんな感じで使います。
$a = 1;
print_r($a); //1
print_rは変数の中身をそのまま出力するだけです。なので文字であろうとそのまま表示します。
次に後半で設定することができるブール値ですが、デフォルトではfalseで使う必要がない場合は省略可能と書きました。これをtrueにした場合は変数の中身を画面に表示せずに戻り値として扱うようになります。
$a = 1;
print_r($a,true); //画面に表示されない
戻り値として扱われるため、何かしらの変数に代入することで便利に扱えたりします。この戻り値は文字列(string)になります。
配列
print_rで配列を調べた場合の結果は添字やキーと値の組み合わせを表示してくれます。これはvar_dumpと同じ感じです。
coderunnerのターミナル表記なら以下。
web表記ならこのようになります。
var_dumpとの違い
ここからはvar_dumpとの違いを具体的に書いていこうと思います。まず大まかな違いは以下の通りです。
特徴 | var_dump | print_r |
---|---|---|
引数の種類 | 変数のみ | 変数とブール値 |
引数の数 | 複数 | 1つ |
return | 不可 | 可能 |
データ型の表示 | あり | なし |
まずは1つめの引数の種類から。print_rはこれまで書いたように変数,ブール値の2種類で扱います。var_dumpは変数のみ受け付けることができます。
その反面、var_dumpは1回のコールで複数の変数を設定して調べることができます。print_rは必ず1つの変数に対してしか使うことができません。
そしてここも大きな違いなんですが、returnが使えるかどうかですね。var_dumpは常に画面に出力しますが、print_rはブール値でtrueにすることで情報を戻り値扱いとすることができます。
そして最大の違いはデータ型の表記ですね。var_dumpは数字ならint(1)のようにデータ型を表記します。対するprint_rはデータ型の表示はなく、変数の中身のみの出力となります。
このあたりの違いを把握した上で使い分けましょう。
まとめ
print_rは変数の中身をわかりやすい形で表示してくれます。類似関数んvar_dumpとは異なる点が多くあるため、必要に応じて使い分けましょう。
- phpの基礎
- phpとは?JavaScriptとの違いは?みたいなことから、基本の書き方などを解説。
- echoとprint
- 画面に文字を出力する2種類の言語構造の使い方
- 変数
- phpで使える変数の扱い方などを解説しています。
- 変数のスコープ(有効範囲)
- 変数のスコープについての解説です。
- var_dump
- 変数の情報を見ることができる関数
- print_r
- 変数の情報をわかりやすい形式で表示する関数
- 配列と連想配列
- 配列と連想配列の書き方と、便利な関数の解説など。
- key
- 連想配列のキーを返してくれます。内部ポインタ関係あり。
- count
- 配列や連想配列の要素数を数えてくれる関数の使い方解説。
- ソート関数
- 配列に対してソートを行う関数の中から、代表的な5つの使い方解説です。
- array_reverse
- 配列の中身の順番を反転させる関数です。
- array_chunk
- 配列を指定した数で分割させるarray_chunk関数の使い方解説です。
- array_combine
- 2つの配列を足して1つの連想配列にする関数です。
- array_diff
- 2つの配列を比較して、存在しない値を出力する関数
- array_push
- 配列に対して後方に要素を追加する関数
- array_unshift
- 配列に対して先頭に要素を追加する関数。
- array_shift
- 配列の先頭の要素を取り出す関数。
- array_merge
- 複数の配列を統合して1次元の配列にする関数
- array_intersect
- 2つの配列を比較して、両方に共通するものを出力する関数
- include
- includeを使って別のphpファイルを読み込む方法の解説。
- if文
- if文を使って処理を変更させる方法の解説。
- switch文
- switch文を使って複数の処理分岐を行わせたい時に使います。
- forループ
- forループを使って同じ処理を行わせる方法の解説です。
- whileループ
- whileループを使って同じ処理を行わせる方法の解説と注意点。
- do-whileループ
- do-whileループを使って同じ処理を行わせる方法の解説です。
- foreachループ
- foreachループを使って配列内のアイテム全てに処理を行う方法の解説です。
- continue
- ループ処理の残りをスキップしつつ、ループの先頭に戻る制御構造
- ループのネスト構造(入れ子)
- ループの中にループを入れる書き方や考え方の解説。
- function
- functionを使って自作の関数を作成・使用する方法の解説。
- 引数の種類と書き方解説
- functionで扱う引数の種類と書き方を解説
- return
- returnの使い方と関数での使い方解説。
- class
- classを作成して変数と関数を1つにまとめる方法と使い方の解説。
- constructとdestruct
- classのインスタンス作成と同時に処理を行うconstructと、スクリプトの終了と同時に実行するdestructの解説です。
- インターフェイス
- インターフェイスという用語の解説と、実際の使い方解説
- トレイト
- コードを再利用するのに便利なトレイトの解説です。
- 列挙型
- プログラム中で使う変数名をあらかじめ定義しておく。そんな感じの型。
- PDOを使ってMySQLへ接続
- PDOを使ってMySQLへ接続し、データを取得する方法の解説です。
- データの加工と表示
- PDOでデータベースから取得したデータを加工して表示する方法の解説です。
- HTMLフォームのデータ受け取りと表示
- HTMLで作ったフォームからのデータの受け取り方法と、その表示方法の解説です。