PHP 배열을 오브젝트 변환
전달해야할 자료형은 오브젝트인데 배열을 전달할 경우 다음과 같은 에러가 발생함.
PHP Notice: Trying to get property of non-object in
반대로 배열을 전달해야 하는데 오브젝트를 전달할 경우는 다음 에러 발생
PHP Fatal error: Cannot use object of type stdClass as array in
PHP 배열(array)을 오브젝트(object)로, 또는 오브젝트를 배열로 변환할 경우 캐스팅할 타입을 괄호로 둘러싸 주면 변환됨.
예제
<?php $array = [ 'name' => 'My name', 'email' => 'myemail@example']; echo $array['name'] . "\n"; // object 로 변환 $obj = (object) $array; echo $obj ->name . "\n"; // 배열로 변환 $arr2 = (array) $obj; echo $arr2['name'] . "\n"; ?>
Ref