У мене проблема перетворити об’єкт 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
по масиву здається мені досить відчайдушним, напевно, сидіти занадто довго перед комп’ютером, і зараз пора перерватися?