如何使用url参数
调用此函数function test($str, $str_){
if ($str == $str)
echo "null";
else
echo "helloworld";
}
答案 0 :(得分:4)
使用此:
switch($_GET['cmd']) {
case 'hello':
test($_GET['cmd'],'second_parameter_value');
}
问题是您没有传递第二个参数的值。我执行以前的代码并打印“helloworld”
第二部分:
如果您打算使用Url中的两个参数调用该函数,则可以使用以下内容(我只修改您自己的初始代码中的重要部分):
function test($str, $str_){
if ($str == "null")
echo "null";
else
echo "helloworld";
}
switch($_GET['cmd']) {
case 'hello':
test($_GET['cmd'],$_GET['cmd2']);
}
和调用它的Url是:execute.php?cmd = hello& cmd2 = hello2
答案 1 :(得分:2)
该函数使用两个参数定义,但您只传入了一个。
这将导致致命错误并且PHP停止执行 - 您应该收到一条错误消息,如果您不是,建议您在php.ini中启用display_errors,或者您可以将行ini_set('display_errors',TRUE);
放在脚本的顶部。
试试这个:
function test ($str) {
if ($str == "null") {
echo "null";
} else {
echo "helloworld";
}
}
switch ($_GET['cmd']) {
case 'hello':
test($_GET['cmd']);
break;
default:
echo "No match in switch structure";
}
答案 2 :(得分:0)
function Init()
{
if(isset($_GET['cmd']))
{
$command = $_GET['cmd'];
switch($command)
{
case 'hello':
test($command);
break;
default:
echo 'hello world';
}
} else {
echo 'Enter Command';
}
}
function test($cmd)
{
echo 'Command: ' . $cmd;
}
Init();
也许这可以帮到你
答案 3 :(得分:0)
试试这个
$urlParams = explode('/', $_SERVER['REQUEST_URI']);
$functionName = $urlParams[2];
$functionName($urlParams);
function func1 ($urlParams) {
echo "In func1";
}
function func2 ($urlParams) {
echo "In func2";
echo "<br/>Argument 1 -> ".$urlParams[3];
echo "<br/>Argument 2 -> ".$urlParams[4];
}
并且网址可以如下所示
http://domain.com/url.php/func1
http://domain.com/url.php/func2/arg1/arg2