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


Preserve array when submitting a form to a JSON file

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

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

表单示例:

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

输出为:

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

您可以使用explode()将文本转换为数组,因此您会得到这样的东西:

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

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

因此,如果您输入的是1000, 2000, 3000,那么您的$myArray将看起来像:

index 0="1000"($myArray[0]

index 1="2000"($myArray[1]

index 2="3000"($myArray[2]

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

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

这使您的所有元素成为整数,如下所示:

索引0=1000($myArray[0]

索引1=2000($myArray[1]

索引2=3000($myArray[2]

否。表单提交文本。

名称中包含[]的PHP特殊情况字段作为要在数组中表示的字段。它没有特殊的大小写功能,可以将字段视为数字而不是字符串。您需要显式地转换数据。