You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

LuArrayUtils.php 1.4KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364
  1. <?php
  2. /**
  3. * Created by PhpStorm.
  4. * User: robin
  5. * Date: 6/7/16
  6. * Time: 5:04 PM
  7. */
  8. namespace Luticate\Utils\Business;
  9. class LuArrayUtils
  10. {
  11. public static function snakeToCamelCase($array)
  12. {
  13. if (!is_array($array))
  14. {
  15. return $array;
  16. }
  17. $camelCase = [];
  18. foreach ($array as $key => $value)
  19. {
  20. $camelCase[LuStringUtils::snakeToCamelCase($key, true)] = self::snakeToCamelCase($value);
  21. }
  22. return $camelCase;
  23. }
  24. public static function camelCaseToSnake($array)
  25. {
  26. if (!is_array($array))
  27. {
  28. return $array;
  29. }
  30. $camelCase = [];
  31. foreach ($array as $key => $value)
  32. {
  33. $camelCase[LuStringUtils::camelCaseToSnake($key, false)] = self::camelCaseToSnake($value);
  34. }
  35. return $camelCase;
  36. }
  37. public static function convertJsonString($json)
  38. {
  39. return LuStringUtils::convertJsonString($json);
  40. }
  41. public static function objectToArray($d)
  42. {
  43. if (is_object($d)) {
  44. $d = get_object_vars($d);
  45. }
  46. if (is_array($d)) {
  47. $data = [];
  48. foreach ($d as $key => $value) {
  49. $data[$key] = self::objectToArray($value);
  50. }
  51. return self::snakeToCamelCase($data);
  52. }
  53. else {
  54. return $d;
  55. }
  56. }
  57. }