ホームページ >php教程 >PHP源码 >PHPオブジェクトと配列間の変換例

PHPオブジェクトと配列間の変換例

WBOY
WBOYオリジナル
2016-07-06 13:34:211819ブラウズ

PHP オブジェクト (オブジェクト) と配列 (配列) 間の変換は、この問題に対して、以下に示すようにいくつかの例を開発で使用します。

<script>ec(2);</script>

配列は PHP の魂であり、非常に強力ですが、場合によっては、配列とオブジェクトを切り替えることも非常に便利です。

例1

コードは次のとおりですコードをコピー
/**

* オブジェクトへの配列
*
* @param 配列 $arr 配列
* @return オブジェクト
​*/
関数 array_to_object($arr)
{
if (gettype($arr) != '配列')
{
戻る;
}
foreach ($arr as $k => $v)
{
if (gettype($v) == '配列' || getType($v) == 'オブジェクト')
{
$arr[$k] = (オブジェクト)array_to_object($v);
}
}

return (オブジェクト)$arr;

}

/**

* オブジェクトを配列に変換
*
* @param オブジェクト $obj オブジェクト
* @return 配列
​*/
関数 object_to_array($obj)
{
$obj = (配列)$obj;
foreach ($obj as $k => $v)
{
if (gettype($v) == 'リソース')
{
戻る;
}
if (gettype($v) == 'オブジェクト' || gettype($v) == '配列')
{
$obj[$k] = (配列)オブジェクトから配列($v);
}
}

$obj を返します;

}

例 2

コードは次のとおりですコードをコピー

クラステスト{

公開 $a;
公開 $b;
パブリック関数 __construct($a) {
$this->a = $a;
}
}

//オブジェクトを配列に変換し、get_object_vars を使用してオブジェクト属性で構成される配列を返します
関数 objectToArray($obj){
$arr = is_object($obj) ? get_object_vars($obj) : $obj;
If(is_array($arr)){
return array_map(__FUNCTION__, $arr);
}その他{
戻り $arr;
}
}

//配列をオブジェクトに変換します
関数 arrayToObject($arr){
If(is_array($arr)){
return (オブジェクト) array_map(__FUNCTION__, $arr);
}その他{
戻り $arr;
}
}

$test = 新しいテスト('test1');
$test->b = 新しいテスト('test2');

print_r($test);
$array = objectToArray($test);
print_r($array);
$object = arrayToObject($array);
print_r($object);

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。