PHP自动函数参数和变量

um6iljoc  于 2023-03-07  发布在  PHP
关注(0)|答案(2)|浏览(121)

我尝试做一些类似于Codeigniter系统中的段结构的事情。
我想把通过REQUEST_URI获得的参数传递给一个函数,并在函数内部用我想要的变量名调用它们。
示例:/news/stock

$arguments = explode('/',$_SERVER['REQUEST_URI']);

// I want to pass this array to a function called route.

//But I want to call it like this.

call_user_func('route', $arguments); 

// Here the arguments go as arrays but below is what I want.

function route($page,$slug)
{
  //...
}

参数可以不止一个。我想在函数本身的函数参数中指定名称,按照参数的顺序。
你能帮我讲讲这个主题吗?

brgchamk

brgchamk1#

我假设你正在寻找spread运算符,或者PHP中的参数解包。
试试这个:

route(...$arguments);

我更新了你的代码以便更好地理解。

$arguments = explode('/',$_SERVER['REQUEST_URI']);

route(...$arguments); 

// Here the arguments going as you want!!!

function route($page,$slug)
{
  echo $page;// news
  echo $slig;//stock
}
klsxnrf1

klsxnrf12#

试试这个:

$arguments = explode('/',$_SERVER['REQUEST_URI']);
function route ($arguments) {
if (isset($arguments[1]) && $arguments[1] == 'news' && isset($arguments[2])) {
 $page = isset($arguments[1]);
 $slug = isset($arguments[2]);
 echo $page . ' - ' . $slug;
}

相关问题