PHP's $_POST变量中可以找到的所有PHP类型是什么?


What are all the PHP types that can be found inside the PHP's $_POST variable?

$_POST:

  • $_POST本身总是一个关联数组
  • 字符串值
  • $_POST
  • 中包含更多数组
  • 还有吗?

脑海中浮现出两个问题:

    这些字符串可以有什么编码?
  • 是否有可能在$_POST数组中找到除字符串和更多数组之外的任何值?例如:is_integer($_POST['name']) === true

这与在类型谱足够有限的情况下避免不必要的验证有关。

谢谢

可以使用var_dump($_POST);并检查那里有什么?:)

$_POST是否可能是一个对象或来自不同于数组的其他数据类型?$_POST有可能是一个标量吗?

$_POST是一个数组,数组中所有的元素都是标量(因为所有的php变量都是标量)。

当$_POST是数组时:

永远!

是可能找到任何东西,但字符串在它吗?

是的,如果你使用html表单发送post请求,示例表单包含一个名为"name"的输入字段,然后$_POST['name'];包含在你提交它时输入字段中的值。

当$_POST为数组且其值为字符串时:

不,$_POST总是一个数组。

我们可以在这些字符串中找到什么编码?

http://php.net/manual/en/mbstring.supported-encodings.php