stdClass 객체를 배열로 변환하는 데 문제가 있습니다. 나는 이런 식으로 시도했다 :
return (array) $booking;
또는
return (array) json_decode($booking,true);
또는
return (array) json_decode($booking);
캐스트하기 전에 배열에 하나의 레코드가 가득 찼습니다. 캐스트하려고하면 비어 있습니다. 행을 삭제하지 않고 캐스트 / 변환하는 방법은 무엇입니까?
캐스트하기 전에 배열 :
array(1) { [0]=> object(stdClass)#23 (36) { ["id"]=> string(1) "2" ["name"]=> string(0) "" ["code"]=> string(5) "56/13" } }
캐스트가 비어 있으면 NULL을 만들려고하면 var_dump($booking);
나는 또한이 기능을 시도했지만 항상 비어 있습니다.
public function objectToArray($d) {
if (is_object($d)) {
// Gets the properties of the given object
// with get_object_vars function
$d = get_object_vars($d);
}
if (is_array($d)) {
/*
* Return array converted to object
* Using __FUNCTION__ (Magic constant)
* for recursive call
*/
return array_map(__FUNCTION__, $d);
}
else {
// Return array
return $d;
}
}
var_dump($booking);
출력 NULL
?
var_dump()
전에 묻고있었습니다 . 동일한 변수 이름 btw를 재사용하지 마십시오. 경우 $booking
캐스팅 전에 무언가가 있었다, 여전히 뭔가해야 전에 나중에 캐스팅이 아닌 뭔가 다른합니다. 입력 변수와 처리 변수가 다르면 더 이상 이해하지 못하는 문제가 발생합니다.
return
. 그리고json_decode
배열에서 실행 하는 것은 나에게 필사적 인 것 같습니다. 아마도 컴퓨터 앞에 너무 오래 앉아 있으면 휴식을 취할 시간입니까?