>백엔드 개발 >PHP 튜토리얼 >PHP 객체와 배열 간의 변환

PHP 객체와 배열 간의 변환

WBOY
WBOY원래의
2016-07-29 08:56:36888검색

객체와 배열의 상호 변환도 개발에서는 매우 흔한 일입니다. 일반적으로 다차원이 아닌 경우에는 직접(배열)로 할 수 있고, 다차원인 경우에는 (객체)로 할 수 있습니다.

<code><span><span><?php</span><span>/**
 * 对象和数组的相互转化
 *<span> @link</span> http://www.phpddt.com PHP分享平台
 */</span><span><span>class</span><span>Test</span>{</span><span>public</span><span>$a</span>;
    <span>public</span><span>$b</span>;
    <span>public</span><span><span>function</span><span>__construct</span><span>(<span>$a</span>)</span> {</span><span>$this</span>->a = <span>$a</span>;
    }
}

<span>//对象转数组,使用get_object_vars返回对象属性组成的数组</span><span><span>function</span><span>objectToArray</span><span>(<span>$obj</span>)</span>{</span><span>$arr</span> = is_object(<span>$obj</span>) ? get_object_vars(<span>$obj</span>) : <span>$obj</span>;
    <span>if</span>(is_array(<span>$arr</span>)){
        <span>return</span> array_map(<span>__FUNCTION__</span>, <span>$arr</span>);
    }<span>else</span>{
        <span>return</span><span>$arr</span>;
    }
}

<span>//数组转对象</span><span><span>function</span><span>arrayToObject</span><span>(<span>$arr</span>)</span>{</span><span>if</span>(is_array(<span>$arr</span>)){
        <span>return</span> (object) array_map(<span>__FUNCTION__</span>, <span>$arr</span>);
    }<span>else</span>{
        <span>return</span><span>$arr</span>;
    }
}

<span>$test</span> = <span>new</span> Test(<span>'test1'</span>);
<span>$test</span>->b = <span>new</span> Test(<span>'test2'</span>);

print_r(<span>$test</span>);
<span>$array</span> = objectToArray(<span>$test</span>);
print_r(<span>$array</span>);
<span>$object</span> = arrayToObject(<span>$array</span>);
print_r(<span>$object</span>);</span></span></code>

원래 주소를 탐색하여 수행할 수 있습니다. . .

').addClass('사전 번호 매기기').hide(); $(this).addClass('has-numbering').parent().append($numbering); for (i = 1; i ').text(i)); }; $numbering.fadeIn(1700); }); });

위 내용은 PHP 객체와 배열의 상호변환에 대한 내용을 포함하여 PHP 튜토리얼에 관심이 있는 친구들에게 도움이 되기를 바랍니다.

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.