如何在php中检查索引是否存在且不为空

3

我经常使用以下代码来检查索引是否存在且不为空:

if(!(isset($_POST['service']) and $_POST['service']))
   die('The service parameter is not available.');

这里我正在检查两个条件。是否可能使用单个内置函数来完成?例如:

if(!isSetAndNotNull($_POST['service']))
   die('The service parameter is not available.');

$_POST的值不能为null,而且isset已经检查了null。你正在检查字符串是否为false - deceze
1
如果你只是查看了php isset手册页面(http://php.net/isset)的“另请参阅”部分,你就会看到对```empty()```函数的引用... - dtech
2个回答

6

太好了!我知道empty()函数!但是我认为它只适用于检查null。 - Mohammed H

1

你可以阅读我发布的链接中的问题描述。"无法在写入上下文中使用方法返回值"。 - Alvaro
3
以上代码出现"PHP Notice: Undefined index: service in ..." 的提示。 - Mohammed H
1
@Steve 如果你在函数上使用empty,那么它只存在于这种情况下,但是它并不是为此而设计的,也不需要。在这种情况下,他将其用于变量,这是正确的。你提供的答案解释了为什么empty + 函数是错误的,而不是你应该总是避免使用empty - deceze
是的,@deceze说得对。这就是为什么我说“在某些情况下”。但你是正确的。 - Alvaro
我能看出你对empty()的问题,但在他的后变量情况下,它可以正常工作。而且你最好将if条件编辑为if(!$_POST['service']) - Najzero
无论如何,因为提出了empty()问题,给你点赞。 - Mohammed H

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接