この記事では、再帰を使用して PHP 配列とオブジェクト間の変換を実現する例について説明します。皆さんの参考に共有してください。具体的な実装方法は以下の通りです
これには、オブジェクトと配列間の単純な変換の問題が含まれており、次のように 2 つのメソッドが再帰的に記述されます。
?1
2
3
4
5
6
7
8function arrayToObject($e){
if( gettype($e)!='array' ) return;
foreach($e as $k=>$v){
if( gettype($v)=='array' || getType($v)=='object' )
$e[$k]=(オブジェクト)arrayToObject($v);
}
return (object)$e;
}
?
1
2
3
4
5
6
7
8
9function objectToArray($e){
$e=(配列)$e;
foreach($e as $k=>$v){
if( gettype($v)=='resource' ) return;
if( gettype($v)=='object' || gettype($v)=='array' )
$e[$k]=(配列)オブジェクトToArray($v);
}
$e を返します;
}
?
1
2
3
4
5
6
7
8function object_to_array($e) {
$_arr = is_object($e) ? get_object_vars($e) : $e;
foreach ($_arr as $key => $val) {
$val = (is_array($val) || is_object($val)) object_to_array($val) : $val;
$arr[$key] = $val;
}
$arr を返す;
}
この記事が皆様の PHP プログラミング設計に役立つことを願っています。