Tôi có một vấn đề để chuyển đổi một đối tượng stdClass thành mảng. Tôi đã thử theo cách này:
return (array) $booking;
hoặc là
return (array) json_decode($booking,true);
hoặc là
return (array) json_decode($booking);
Mảng trước khi diễn viên đã đầy với một bản ghi, sau khi tôi cố gắng sử dụng thì nó trống. Làm thế nào để truyền / chuyển đổi nó mà không xóa các hàng của nó?
mảng trước khi cast:
array(1) { [0]=> object(stdClass)#23 (36) { ["id"]=> string(1) "2" ["name"]=> string(0) "" ["code"]=> string(5) "56/13" } }
sau khi cast là NULL trống nếu tôi cố gắng thực hiện var_dump($booking);
Tôi cũng đã thử chức năng này nhưng luôn trống:
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);
đầu ra NULL
?
var_dump()
trước khi đúc. Không sử dụng lại cùng tên biến btw. nếu $booking
là một cái gì đó trước khi đúc, nó vẫn nên là một cái gì đó trước khi đúc và không phải là một cái gì đó khác nhau sau đó. Khác nhau giữa các biến đầu vào và xử lý nếu không bạn gặp phải các vấn đề mà bạn không còn hiểu những gì bạn làm ở đó nữa.
return
. Và chạyjson_decode
trên một mảng có vẻ khá tuyệt vọng đối với tôi, có lẽ ngồi quá lâu trước máy tính và giờ là lúc để nghỉ ngơi?