json은 API의 json 데이터를 디코딩하고 개체를 배열로 변환하려고했습니다. 나는 그것을 수행하는 클래스 함수를 작성했습니다. 그리고 그 기능은배열 변환 개체가 별도의 함수로 작동하지만 개체 메서드로 작동하지 않습니다.
public function objectToArray($result) {
if (is_object($result)) {
$result = get_object_vars($result);
}
if (is_array($result)) {
return array_map(@$this->objectToArray, $result);
}
else {
// Return array
return $result;
}
}
입니다. 그래서 위의 코드는 작동하지 않습니다. 그것은 단지 '첫 번째 레이어'객체를 변환했지만 그 객체 배열의 객체는 변환하지 않았습니다 (중첩 된 배열 및 객체에 대해 말하고 있습니다). 하지만 클래스 외부에서 objectToArray 함수를 선언하고 array_map의 인수를 'objectToArry'로 변경하면 갑자기 작동하기 시작합니다. 어째서? PHP 클래스의 반복 함수에 문제가 있습니까?
@ 오류 억제를 사용할 때마다 새끼 고양이는 슬프다. 새끼 고양이를 생각해보십시오. –
오류 ('@')를 억제해서는 안됩니다. 그렇게한다면 PHP가 당신에게 말하고자하는 것을 놓칠 수도 있습니다. – knittl