我应该如何检查 PHP 中是否存在值?

发布于 2024-12-07 20:43:00 字数 136 浏览 0 评论 0原文

使用 PHP 可以通过多种方法查看某个值是否存在。有 isset、!=false、!==false、!empty 等。在以下情况下,哪一个是最好的(快速且准确)?

if($_GET['test'])
...

There are many ways to see if a value exists using PHP. There's isset, !=false, !==false, !empty, etc. Which one will be the best (fast and accurate) one to use in the following situation?

if($_GET['test'])
...

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(5

少年亿悲伤 2024-12-14 20:43:01

if (isset($_GET['test'])) {
// 使用价值
}

if (isset($_GET['test'])) {
// use value
}

诗笺 2024-12-14 20:43:01
if(array_key_exists($_GET, "test"))

如果数组中存在键,则 array_key_exists 返回 true,
如果键/变量存在且不为空,isset 将返回 true。

if(array_key_exists($_GET, "test"))

array_key_exists return true if a key exists in an array,
isset will return true if the key/variable exists and is not null.

在风中等你 2024-12-14 20:43:01

Isset 可能是最好的,因为它检查 url 是否包含“?test=”。如果您想确保它不为空,则必须进一步检查。

Isset is probably best because it checks if the url contains a "?test=". If you want to make sure it is not empty you have to check further.

可是我不能没有你 2024-12-14 20:43:01

我会选择 php5 一种类型的 get:

$test = filter_input(INPUT_GET, 'test', FILTER_SANITIZE_STRING);
if($test){
  //do something
}

参考 此处,您可以使用它们进行验证和清理。您可以使用“filter_input_array”作为完整的输入类型。

I'd go with the php5 one type of get:

$test = filter_input(INPUT_GET, 'test', FILTER_SANITIZE_STRING);
if($test){
  //do something
}

Reference here, you can validate and sanitize with them. you can use "filter_input_array" for the full input types.

红ご颜醉 2024-12-14 20:43:01

isset 函数仅检查其可用性,您也必须使用空函数才能查看它是否已设置且不为空,如下所示:

if (isset($_GET['test']) && !empty($_GET['test'])) {

isset function only checks for its avaliability you have to use empty function too in order to see if it is set and not empty also as:

if (isset($_GET['test']) && !empty($_GET['test'])) {
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文