Mam problem z konwersją obiektu stdClass na tablicę. Próbowałem w ten sposób:
return (array) $booking;
lub
return (array) json_decode($booking,true);
lub
return (array) json_decode($booking);
Tablica przed rzutowaniem jest pełna jednym rekordem, po mojej próbie rzutowania jest pusta. Jak rzutować / konwertować bez usuwania wierszy?
tablica przed rzutowaniem:
array(1) { [0]=> object(stdClass)#23 (36) { ["id"]=> string(1) "2" ["name"]=> string(0) "" ["code"]=> string(5) "56/13" } }
po rzuceniu jest pusty NULL, jeśli spróbuję zrobić var_dump($booking);
Próbowałem również tej funkcji, ale zawsze pusta:
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);
wyniki NULL
?
var_dump()
przed castingiem. Nie używaj ponownie tej samej nazwy zmiennej btw. jeśli $booking
było coś przed castingiem, powinno to być coś przed castowaniem, a nie coś innego później. Różnicuj między zmiennymi wejściowymi i przetwarzającymi, w przeciwnym razie napotkasz problemy, których już nie rozumiesz.
return
. A bieganiejson_decode
po tablicy wydaje mi się dość desperackie, prawdopodobnie siedzi zbyt długo przed komputerem, a teraz jest czas na przerwę?