PHP:不区分大小写的参数

Vee*_*Bee 25 php variables performance case-insensitive query-string

如何接受传递GETPOST值不区分大小写?

喜欢sample.php?OrderBy=asc仍然会和sample.php?orderby=ascor一样sample.php?ORDERBY=asc

有没有办法有效地实现上述目标?

Bol*_*ock 50

您可以使用全部大写或全部小写键array_change_key_case()创建副本$_GET.

$_GET_lower = array_change_key_case($_GET, CASE_LOWER);
$orderby = isset($_GET_lower['orderby']) ? $_GET_lower['orderby'] : 'asc';
echo $orderby;
Run Code Online (Sandbox Code Playgroud)

(我说"创建副本"只是因为我不喜欢污染原始的超级全球,但如果你愿意,可以选择覆盖它们.)

就此而言,如果你坚持使用区分大小写的匹配仍然会更好,因为它在搜索引擎和人眼都可能更容易,而且代码也更容易... 编辑:好的,基于你的评论我明白你为什么要做这样的事情.