Ho un problema a convertire un oggetto stdClass in array. Ho provato in questo modo:
return (array) $booking;
o
return (array) json_decode($booking,true);
o
return (array) json_decode($booking);
L'array prima del cast è pieno con un record, dopo che il mio tentativo di lanciarlo è vuoto. Come lanciarlo / convertirlo senza eliminare le sue righe?
matrice prima del cast:
array(1) { [0]=> object(stdClass)#23 (36) { ["id"]=> string(1) "2" ["name"]=> string(0) "" ["code"]=> string(5) "56/13" } }
dopo il cast è vuoto NULL se provo a creare un var_dump($booking);
Ho anche provato questa funzione ma sempre vuota:
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);
output NULL
?
var_dump()
prima del casting. Non riutilizzare lo stesso nome di variabile btw. se $booking
fosse qualcosa prima del casting, dovrebbe essere comunque quel qualcosa prima del casting e non qualcosa di diverso in seguito. Differisci tra le variabili di input e di elaborazione, altrimenti incappi in problemi che non capisci più cosa fai lì.
return
. E correrejson_decode
su un array mi sembra piuttosto disperato, probabilmente seduto troppo a lungo davanti al computer ed è ora di fare una pausa?