1.function toArray($obj){ if (is_object($obj)) $obj = (array)$obj; if (is_array($obj)) { $new = array(); foreach ($obj as $key => $val) { $new[$key] = toArray($val); } } else { $new = $obj; } return $new;}
2.function objectToArray ($object) { if(!is_object($object) && !is_array($object)) return $object; return array_map('objectToArray', (array) $object);}
3.$object = (object) $array;
4.$object = new stdClass();foreach ($array as $key => $value){ $object->$key = $value;}
5.// Cast to an array$array = (array) $object;
5.// get_object_vars$array = get_object_vars($object);
6. /** * 對象轉數組 * array_map(__FUNCTION__, $array); 作用到數組中的每個值上,每個值都乘以本身,並返回帶有新值的數組 * is_object($object) ? get_object_vars($object) : $object; 返回由對象屬性群組成的關聯陣列 * @param $object * @return array|void */ public static function objectToArray($object){ $object = (array)$object; foreach($object as $k=>$v){ if(gettype($v) == 'resource'){ return; } if(gettype($v) == 'object' || gettype($v) == 'array'){ $object[$k] = (array) StringAndArrayHelper::objectToArray($v); } } return $object; }
7. /** * 數組轉對象 * @param $array * @return object|void */ public static function arrayToObject($array){ if(gettype($array) != 'array'){ return; } foreach($array as $k=>$v){ if(gettype($v) == 'array' || getType($v) == 'object'){ $array[$k] = (object) StringAndArrayHelper::arrayToObject($v); } } return (object)$array; }