36 lines
840 B
PHP
36 lines
840 B
PHP
<?php
|
|
/**
|
|
* Author: cfn <cfn@leapy.cn>
|
|
*/
|
|
|
|
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;
|
|
}
|
|
} |