私は実際に複雑な配列を操作して操作をより簡単にするクラスを持っています。元の配列の形式は次のようになります。
array(
array(
"name" =>"foo",
"type" =>8, //The array is NBT format and 8 stands for string
"value" =>"somevalue"
)
}
このクラスは、上記のような配列をコンストラクターとして受け取ります。
class NBT_traverser implements ArrayAccess {
function __construct(&$array) {
$this->array = $array;
}
}
次に、メンバーにアクセスする方法は次のとおりです。
$parser = new NBT_traverser($somearray);
echo $parser["foo"]; //"somevalue"
クラスをprint_R
取得すると、その値のリストと元の複雑な配列が取得されます。このような:
object(NBT_traverser)#2 (1) {
["nbt":"NBT_traverser":private]=> &array(1) {
/*Tons of ugly array contents*/
}
代わりに、次の出力のように取得したいと思いますprint_r
。
array(
"foo" => "somevalue"
)
これを行うためにだますことは可能print_r
ですか?現在の動作では、クラスを使用しない場合よりも、クラスを使用してデバッグする方が難しくなっています。
もちろん、独自のメソッドを作成して印刷することもできますが、クラスのユーザーにとって使用法をより簡単にしたいと考えています。print_R
代わりに、配列として出力される何かを与えたかったのです。