common.php 1.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  1. <?php
  2. /**
  3. * 处理搜索关键字
  4. * @param string $keyword 要解析的关键字(输入商品关键字/@货号/#编号)
  5. * @return array ['type' => 类型,'keyword' => 关键字];
  6. */
  7. function skeyword(string $keyword = null){
  8. if(empty($keyword)){
  9. return false;
  10. }
  11. $str_first = mb_substr($keyword,0,1,'utf-8');
  12. $type = 0; //默认标题关键词
  13. switch ($str_first) {
  14. case '@':
  15. $type = 1; //货号
  16. break;
  17. case '#':
  18. $type = 2; //商品编号
  19. break;
  20. case '*':
  21. $type = 3; //商品编号
  22. break;
  23. }
  24. if($type){
  25. $keyword = mb_substr($keyword,1,null,'utf-8');
  26. if(empty($keyword)){
  27. return false;
  28. }
  29. }
  30. return ['type'=>$type,'keyword' => $keyword];
  31. }
  32. /**
  33. * 倍减递归算法
  34. */
  35. function numProgress($number,$n = 2,$i = 1){
  36. static $data = [];
  37. $number = intval($number/$n);
  38. if($number >= 1){
  39. $data[$i] = $number;
  40. numProgress($number,$n,$i+1);
  41. }
  42. return $data;
  43. }