我有一个表单,它接收数据并在PHP中写入JSON表单。
我需要提交一个数组作为数字输入,但它不断给我一个字符串。是否可以通过文本输入框将表单作为数组提交?
表单示例:
<input type="text" name="arraytobepushed[]" placeholder="EG: 1000,2000,3000" />
输出结果为:
{
"obj": [{
"arraytobepushed": ["1000,2000,3000"]
}]
}
答案 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特殊情况字段,其名称为[]
,表示为要在数组中表示的字段。它没有特殊的案例功能将字段视为数字而不是字符串。您需要明确转换数据。