/** * Recursively converts an object to a multi-dimensional array * * @param object * @return array */ public static function from_object($obj) { if (!is_object($obj) && !is_array($obj)) { return NULL; } $raw_arr = is_object($obj) ? get_object_vars($obj) : $obj; $arr = array(); foreach ($raw_arr as $k => $v) { $arr[$k] = is_array($v) || is_object($v) ? arr::from_object($v) : $v; } return $arr; }