gpt4 book ai didi

PHP - 在函数内部使用 isset 不起作用..?

转载 作者:塔克拉玛干 更新时间:2023-11-03 05:37:06 24 4
gpt4 key购买 nike

我有一个 PHP 脚本,当加载时,首先检查它是否通过 POST 加载,如果不是,如果 GET['id'] 是一个数字。

现在我知道我可以这样做:

if(isset($_GET['id']) AND isNum($_GET['id'])) { ... }

function isNum($data) {
$data = sanitize($data);
if ( ctype_digit($data) ) {
return true;
} else {
return false;
}
}

但我想这样做:

if(isNum($_GET['id'])) { ... }

function isNum($data) {
if ( isset($data) ) {
$data = sanitize($data);
if ( ctype_digit($data) ) {
return true;
} else {
return false;
}
} else {
return false;
}
}

当我以这种方式尝试时,如果未设置 $_GET['id'],我会收到未定义索引的警告:id...就像我一输入 $_GET['id']在我的函数调用中,它发送警告...即使我的函数将检查是否设置了该 var...

是否有另一种方法来做我想做的事情,或者我是否被迫总是检查 isset 然后添加我的其他要求..??

最佳答案

我总是包含一些其他语言提供的便利函数:get。

function get($needle, $haystack, $return=null) {
return array_key_exists($needle, $haystack) ? $haystack[$needle] : $return;
}

现在你可以调用:

if(isNum(get('id', $_GET))) {
// do something here
}

关于PHP - 在函数内部使用 isset 不起作用..?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3038310/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com