将POST数组传递给php函数

mrp*_*atg 4 php

我可以将整个POST数组传递给函数并在函数内处理它吗?

PostInfo($_POST);


function PostInfo($_POST){
    $item1 = $_POST[0];
    $item2 = $_POST[1];
    $item3 = $_POST[2];
        //do something
return $result;

}
Run Code Online (Sandbox Code Playgroud)

或者这是正确的方法吗?

Mat*_*ley 8

是.如果您要命名本地变量$_POST,请不要打扰.$_POST是一个'超全球',一个不需要global关键字在正常范围之外使用它的全局.您的上述功能可以在没有参数的情况下工作.

注意$_POST在PHP 5.4或更高版本中,不能使用任何超全局(即)作为函数参数.它会产生致命错误


Ext*_*kun 6

您实际上可以将$ _POST传递给任何接收数组的函数.

function process(array $request)
{

}

process($_POST);
process($_GET);
Run Code Online (Sandbox Code Playgroud)

非常适合测试.

  • 这是执行此操作的首选方法。这叫做[依赖注入](http://stackoverflow.com/questions/130794/what-is-dependency-injection) (2认同)