PHP:在没有变量名的情况下解析 URL 查询的最佳方法?

给定的网址如下

www.example.com?1+1

我应该如何解析数据并进行数学运算?

如果它是这样的

www.example.com?a=1&op=+&b=1

然后我可以做 $_GET[“variable_name”]。

但我能用前者做什么?解析此类查询的最佳方法是什么?

我搜索了一个解决方案,但似乎无法找到与我目前的知识相关的东西。我尝试查看$_SERVER ,但我认为这没有帮助。


慕姐4208626
浏览 119回答 1
1回答

慕斯王

如果您确定不会传递任何恶意内容(或者您只是在测试),那么您可以执行以下操作:$output = eval('return ' . parse_url($_SERVER['REQUEST_URI'])['query'] . ';');echo $output;强制性通知:注意 eval() 语言结构非常危险,因为它允许执行任意 PHP 代码。因此不鼓励使用它。如果您已经仔细确认除了使用此构造没有其他选择,请特别注意不要在没有事先正确验证的情况下将任何用户提供的数据传递给它。但是,我建议您使用以下方法并使用链接问题中的解析器解析表达式:$exp = parse_url($_SERVER['REQUEST_URI'])['query']; // 1+1如何评估在 PHP 中作为字符串传递的公式?
打开App,查看更多内容
随时随地看视频慕课网APP