*/ namespace App\Utils; use Hyperf\Context\ApplicationContext; use Hyperf\HttpServer\Contract\RequestInterface; class Param { /** * @param array $data * @param array|null $param * @return array */ static function only(array $data, array $param = null): array { if (empty($param)) { $container = ApplicationContext::getContainer(); $request = $container->get(RequestInterface::class); // 代理对象 $param = $request->all(); } $_arr = []; foreach ($data as $k => $v) { if (gettype($k) == "integer") { isset($param[$v]) && $_arr[$v] = $param[$v]; } else { $_arr[$k] = $param[$k] ?? $v; } } return $_arr; } }