配列を与えて、配列を定義するPHPスクリプトの文字列を作成する関数。

PHP で $a=array(1,2,array(3,4)) を渡すと、文字列「array("0"=>"1","1"=>"2",array("0"=>"3","1"=>"4"))」を吐き出す再帰的関数。例えば一時的に作成した配列をファイルにテキストとして保存、再利用したいときに使う。

function describeArray($array) {
if( is_array($array) ) {
foreach( $array as $key => $value ) {
if( is_array($value) )
$a[]= '"'.$key.'"=>'.describeArray($value);
else
$a[]= '"'.$key.'"=>"'.$value.'"';
}
return 'array('.implode(",",$a).')';
} else {
return '"'.$array.'"';
}
}

蛇足

変数名を $a=..., $b=..., ... ではなく $v["a"]=..., $v["b"]=..., ... で定義すると決めれば、配列 $v["a"]=array(1,2,array(3,4)) に対して文字列「$v["a"]=array(1,2,array(3,4))」を吐き出すスクリプトを書くのは簡単。