我知道这可能是一个愚蠢的问题,但我遇到了一段PHP代码,在执行其他功能之前检查$_POST
is_array()
是否已。
现在我猜$ _POST应该总是一个关联数组?真的需要这个检查吗?为什么?
答案 0 :(得分:6)
如果没有以某种方式改变,如
$_POST = 'not array';
然后是数组; - )
答案 1 :(得分:2)
不需要检查。 $ _POST是一个始终定义的superglobal数组。您应该使用isset
答案 2 :(得分:2)
答案 3 :(得分:1)
PHP确保$ _POST始终是一个数组,除非您的代码中某处未设置或以某种方式覆盖$ _POST,否则不需要执行该检查。
答案 4 :(得分:1)
$ _ POST总是一个数组,他们可能正在检查某个$ _POST值是否为数组。
<input name="test" />
$ _POST ['test']不是数组
<input name="test[]" />
$ _POST ['test'] 是数组
答案 5 :(得分:1)
它总是一个阵列,正如许多已经说过的那样。
我认为目的可能是检查一个空数组。 !empty($ _ POST)应该没问题。
也许编码器有一些部分,其中数组被更改为一个字符串(如果你问我就愚蠢)并且想要进行检查,否则如果该语句首先出现,那么它是不必要的
答案 6 :(得分:0)
$ _ POST始终定义为数组,即使它不包含任何键/值对。
答案 7 :(得分:0)
如前所述,$_POST
是一个超级全局,它总是被定义并且总是一个数组(除非被覆盖)。
如果您正在尝试测试是否已发布某些内容,则可以使用以下内容:
if (count($_POST)) {
// something has been submitted
}
要回答主要问题,不,不需要is_array
检查。