可以从通过GET / POST传递的数据参数确定数据类型吗?

时间:2013-12-28 17:38:27

标签: php

例如:

我将数据发布为data=test

$myData = $_POST['data'];

Post数据是否可以以$ myData是数组而不是字符串的形式发送?

类似的东西:

data=array("key"=>"data")

我知道如何从脚本端将$ myData设置为数组,所以这更像是一个随意的技术问题。

3 个答案:

答案 0 :(得分:1)

除非您使用特殊的PHP数组表示法来生成数组,例如

example.com?foo[]=bar&foo[]=baz
               ^^---array notation

如果它不是数组,则它是一个字符串:

if (isset($_GET['foo'])) {
   if (is_array($_GET['foo'])) {
      ... it's an array
   } else {
      ... it's a string
   }
|

答案 1 :(得分:1)

您需要一个名为data[key]且值为data的请求参数(例如:表单元素)。 PHP会自动将其转换为数组。

答案 2 :(得分:1)

你的意思是这样的GET URL:

index.php?data[]=1&data[]=2
index.php?data[a]=foo&data[b]=bar

或HTML:

<input type='text' name='data[]' value='1' />
<input type='text' name='data[a]' value='foo' />

[]概念以数字方式键入数组,而[a](等)命名键。更多信息可以在the PHP docs中找到。