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.6KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465
  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, $capitalizeFirstCharacter = false)
  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, $capitalizeFirstCharacter)] =
  21. self::snakeToCamelCase($value, $capitalizeFirstCharacter);
  22. }
  23. return $camelCase;
  24. }
  25. public static function camelCaseToSnake($array)
  26. {
  27. if (!is_array($array))
  28. {
  29. return $array;
  30. }
  31. $camelCase = [];
  32. foreach ($array as $key => $value)
  33. {
  34. $camelCase[LuStringUtils::camelCaseToSnake($key, false)] = self::camelCaseToSnake($value);
  35. }
  36. return $camelCase;
  37. }
  38. public static function convertJsonString($json, $capitalizeFirstCharacter = false)
  39. {
  40. return LuStringUtils::convertJsonString($json, $capitalizeFirstCharacter);
  41. }
  42. public static function objectToArray($d, $capitalizeFirstCharacter = false)
  43. {
  44. if (is_object($d)) {
  45. $d = get_object_vars($d);
  46. }
  47. if (is_array($d)) {
  48. $data = [];
  49. foreach ($d as $key => $value) {
  50. $data[$key] = self::objectToArray($value, $capitalizeFirstCharacter);
  51. }
  52. return self::snakeToCamelCase($data, $capitalizeFirstCharacter);
  53. }
  54. else {
  55. return $d;
  56. }
  57. }
  58. }