要实现这个需求,可以使用PHP中的闭包函数(匿名函数)和路由匹配来实现。//n//n首先,我们需要一个路由匹配的函数来处理URL请求。可以使用正则表达式来匹配地址中的数字部分,并将其作为参数传递给闭包函数。//n//nphp//nfunction route($pattern, $callback) {//n $path = $_SERVER['REQUEST_URI'];//n if (preg_match($pattern, $path, $matches)) {//n array_shift($matches);//n call_user_func_array($callback, $matches);//n }//n}//n//n//n接下来,我们定义一个闭包函数来处理地址和返回不同的值。这里可以使用switch语句来根据不同的数字参数返回不同的值。//n//nphp//n$routeHandler = function($id) {//n switch ($id) {//n case '1'://n echo /'小黄鸭/';//n break;//n case '2'://n echo /'我是/';//n break;//n case '3'://n echo /'PHP/';//n break;//n default://n echo /'未知参数/';//n break;//n }//n};//n//n//n最后,我们调用路由匹配函数,并传递正则表达式和闭包函数作为参数。//n//nphp//nroute('////(/d+)/', $routeHandler);//n//n//n完整的代码如下://n//nphp//nfunction route($pattern, $callback) {//n $path = $_SERVER['REQUEST_URI'];//n if (preg_match($pattern, $path, $matches)) {//n array_shift($matches);//n call_user_func_array($callback, $matches);//n }//n}//n//n$routeHandler = function($id) {//n switch ($id) {//n case '1'://n echo /'小黄鸭/';//n break;//n case '2'://n echo /'我是/';//n break;//n case '3'://n echo /'PHP/';//n break;//n default://n echo /'未知参数/';//n break;//n }//n};//n//nroute('////(/d+)/', $routeHandler);//n//n//n这样,当你访问baidu.com/1时,会返回/'小黄鸭/',访问baidu.com/2时,会返回/'我是/',访问baidu.com/3时,会返回/'PHP/'。其他参数会返回/'未知参数/'。请确保你的服务器配置正确,并支持PHP的运行。

PHP 实现相同地址返回不同值:使用闭包函数和路由匹配

原文地址: https://www.cveoy.top/t/topic/pASr 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录