PHPの配列のお話をしようと思うのですが、その前にちょっと便利なPHPのライブラリがあったので、ご紹介しておきます。
PEAR::Var_Dumpっていうライブラリなのですが、ぶっちゃけ使ってもらわなくても構まないものなんです。理解の手助けをしてくれると言うか、補助的なライブラリなのです。
ただ、配列などを理解する上では、ヴィジュアル的にすごくわかりやすくなりますので興味があられる方はお試し下さい。

(その前にPEARってなんじゃ?っておっしゃる方はこちら↓
PEARが難しすぎるので、教えて偉い人!『解決済み』


PHPの配列を理解してしまって自由に使えるようになれば、とってきたXMLデータやCSVデータを片っ端から配列にしてしまえばいいわけです。

そういうわけで、配列を理解するための記事を書こうと思うのですが、その前にちょっと便利なライブラリを紹介します。


PEAR::Var_Dumpです。


PHPには、元々var_dumpという関数があり、

var_dump($XML);

って言う風に書いちゃえば、$XMLの中身を書き出してくれます。

RSS1.0に準じたXMLをXMLUnserializerを使って配列にして、var_dump関数で表示するコードの例です。
<var_dump関数を使う際のコードの例>

<?php
require_once("XML/Unserializer.php");

$xml_data = file_get_contents("rss.xml");
$parser = new XML_Unserializer(array(’parseAttributes’ => true));
$parser->unserialize($xml_data);

$XML = $parser->getUnserializedData();

var_dump($XML);

?>


var_dump関数は、配列の構造が複雑すぎてわからなくなったりした時に、よく使っていました。
print_r関数もあわせて、使っていました。


しかし、解読しにくいんですよ。これが。

var_dump関数で、実際に表示したものがこちらです。

var_dump関数実行結果

構造はわからない事は無いですが(今まではこれで見ていましたがw)、読みづらいですよね。なんと言うか、詰め込みすぎな感じです。




それが、今回のライブラリ、PEAR::Var_Dumpを使うと、見やすくなるわけです。



■インストール方法

PEARをインストールしている方は普通にインストールされてください。

インストールしていない方は、PEAR::Var_DumpからPEAR::Var_Dumpのパッケージをダウンロードしてきて、var_dumpライブラリを使う「test.PHP」と一緒に、以下の構造でアップロードします。

PEAR:var_dumpディレクトリ構造




■実際に使ってみる

早速、試してみましょう。

<PEAR::Var_Dumpを普通に使う時のコード>
<?php
require_once("XML/Unserializer.php");
require_once("Var_Dump.php");

$xml_data = file_get_contents("rss.xml");
$parser = new XML_Unserializer(array(’parseAttributes’ => true));
$parser->unserialize($xml_data);

$XML = $parser->getUnserializedData();

Var_Dump::display($XML);

?>


途中、RSSをXMLUnserializerで配列にしたりしてますので込み入っていますが、本当に必要な部分は、
require_once("Var_Dump.php"); と
Var_Dump::display($XML); の2行です。

PEAR:var_dumpで必要なコード

で、実行した結果はこちら。

PEAR:var_dump実行結果デフォ

これを見ると、channelimageitemという大きな配列の要素が3つあって、さらにitemの中に5つの要素があり、記事のタイトルやリンクや概要などがそれぞれに入ってる構造なんだなということがわかりやすくなります。


PEAR::Var_Dumpには、さらにオプションがあって、命令文を一行加えると、色々な見せ方に変えてくれます。



<PEAR::Var_Dumpの表示方法をHTML4_Textに変えるコード>

<?php
require_once("XML/Unserializer.php");
require_once("Var_Dump.php");

$xml_data = file_get_contents("rss.xml");
$parser = new XML_Unserializer(array(’parseAttributes’ => true));
$parser->unserialize($xml_data);

$XML = $parser->getUnserializedData();

Var_Dump::displayInit(array('display_mode' => 'HTML4_Text'));
Var_Dump::display($XML);

?>


実行結果はこちら。

PEAR:var_dump実行結果HTML4テキスト

そうです。
Var_Dump::displayInit(array('display_mode' => 'HTML4_Text'));
を追加すれば良いだけなんです。


その部分だけ、色々書き変えてみて下さい。




<Var_Dump::displayInit(array('display_mode' => 'HTML4_Table'));>

PEAR:var_dump実行結果HTML4テーブル

すげえ、見やすい!!



<Var_Dump::displayInit(array('display_mode' => 'XHTML_Text'));>

PEAR:var_dump実行結果XHTMLテキスト



<Var_Dump::displayInit(array('display_mode' => 'XHTML_Table'));>

PEAR:var_dump実行結果XHTMLテーブル



<Var_Dump::displayInit(array('display_mode' => 'XML'));>

PEAR:var_dump実行結果XML


そういうわけで、PEAR::Var_Dump
配列だけでなく、いろいろなものの中身も見れるみたいです。

Var_Dump::display($あの娘のハート);

↑これはさすがに無理みたいですが(笑)。

興味のあられる方はお試しください。