将表单提交到JSON文件时保留数组

时间:2016-07-26 11:15:54

标签: php json

我有一个表单,它接收数据并在PHP中写入JSON表单。

我需要提交一个数组作为数字输入,但它不断给我一个字符串。是否可以通过文本输入框将表单作为数组提交?

表单示例:

<input type="text" name="arraytobepushed[]" placeholder="EG: 1000,2000,3000" />

输出结果为:

{
"obj": [{
   "arraytobepushed": ["1000,2000,3000"]
       }]
}

2 个答案:

答案 0 :(得分:1)

您可以使用explode()将文本转换为数组,所以你会有这样的事情:

<?PHP
  $myArray = explode(',', $_POST['arraytobepushed[]']);
?>

explode()函数将您传递的第一个参数(在本例中为逗号)分隔的所有内容拆分并放入数组中。

因此,如果您的输入为1000, 2000, 3000,则$myArray会显示为:

索引0 =“1000”($myArray[0]

索引1 =“2000”($myArray[1]

索引2 =“3000”($myArray[2]

请记住,值仍然是字符串,而不是整数。如果你想让它们成为整数,你可以这样做:

$myArray = array_map('intval', explode(',', $_POST['arraytobepushed[]'])); 

这会使你的所有元素成为整数:

索引0 = 1000($myArray[0]

索引1 = 2000($myArray[1]

索引2 = 3000($myArray[2]

答案 1 :(得分:0)

没有。表单提交文本。

PHP特殊情况字段,其名称为[],表示为要在数组中表示的字段。它没有特殊的案例功能将字段视为数字而不是字符串。您需要明确转换数据。