Base.php 2.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103
  1. <?php
  2. /**
  3. * 基础方法
  4. */
  5. defined('IN_WEB') or die('Include Error!');
  6. class Base
  7. {
  8. public function __construct()
  9. {
  10. }
  11. /**
  12. * 是否查询所有包
  13. * @param $sidList
  14. * @return bool
  15. */
  16. public function isAllSid($sidList)
  17. {
  18. if(in_array(999, $sidList)) {
  19. return true;
  20. }
  21. return false;
  22. }
  23. /**
  24. * 统一输出返回json内容
  25. *
  26. * @access public
  27. * @date 2016-08-16
  28. * @param int $ret 状态码,0成功
  29. * @param string $msg 错误信息
  30. * @param array $data 返回数据内容
  31. * @return json;
  32. */
  33. public function response($ret = 0, $msg = '', array $data = array())
  34. {
  35. $result = [
  36. 'ret' => $ret,
  37. 'msg' => $msg,
  38. 'data' => $data,
  39. ];
  40. die(json_encode($result));
  41. }
  42. /**
  43. * 计算天数差
  44. * $format = 1 Y-m-d else Ymd
  45. */
  46. protected function getDays($day1, $day2, $format = 1)
  47. {
  48. $second1 = $day1;
  49. $second2 = $day2;
  50. if ($second1 < $second2) {
  51. $tmp = $second2;
  52. $second2 = $second1;
  53. $second1 = $tmp;
  54. }
  55. $days = ($second1 - $second2) / 86400;
  56. $dayList = array();
  57. for ($i=0; $i <= $days ; $i++) {
  58. if($format == 1) {
  59. $dayList[] = date('Y-m-d', $second2 + 86400*$i);
  60. }else {
  61. $dayList[] = date('Ymd', $second2 + 86400*$i);
  62. }
  63. }
  64. return $dayList;
  65. }
  66. /**
  67. * 多维数组按多字段排序
  68. * @return mixed|null
  69. * @throws Exception
  70. * 调用方式 $arr = sortArrByManyField($array1,'id',SORT_ASC,'name',SORT_ASC,'age',SORT_DESC);
  71. */
  72. public function sortArrByManyField(){
  73. $args = func_get_args();
  74. if(empty($args)){
  75. return null;
  76. }
  77. $arr = array_shift($args);
  78. if(!is_array($arr)){
  79. throw new Exception("第一个参数不为数组");
  80. }
  81. foreach($args as $key => $field){
  82. if(is_string($field)){
  83. $temp = array();
  84. foreach($arr as $index=> $val){
  85. $temp[$index] = $val[$field];
  86. }
  87. $args[$key] = $temp;
  88. }
  89. }
  90. $args[] = &$arr;//引用值
  91. call_user_func_array('array_multisort',$args);
  92. return array_pop($args);
  93. }
  94. }