Php 我有这样的输出数组(';myField';=>;&>;&>;文本区域中的给定值';';mycheckbox';=>;数组(0=>;>;>;>;>;>;>;>;>;>;&x27;,1=>;>;>;&x27;someValue2&>;)

Php 我有这样的输出数组(';myField';=>;&>;&>;文本区域中的给定值';';mycheckbox';=>;数组(0=>;>;>;>;>;>;>;>;>;>;&x27;,1=>;>;>;&x27;someValue2&>;),php,mysql,arrays,Php,Mysql,Arrays,我从表单提交中获取所有这些值 我想将这些重复的值拆分成单独的变量,并将它们存储到mysql数据库中 这是输出 array ( 'myField' => 'given value in text area', 'myCheckboxes' => array ( 0 => 'someValue1', 1 => 'someValue2', ), ) 我想像这样将每个值存储

我从表单提交中获取所有这些值

我想将这些重复的值拆分成单独的变量,并将它们存储到mysql数据库中

这是输出

array ( 'myField' => 'given value in text area', 
        'myCheckboxes' => array ( 0 => 'someValue1', 
                                  1 => 'someValue2', ), 
        )
我想像这样将每个值存储到DB中

myField=文本区域中的给定值

myCheckboxes1 = someValue1

myCheckboxes2 = someValue2
我尝试过这样的代码

<?php 
    $field  = $_POST['myField'];
    $checkValue1 = $_POST['myCheckboxes.(0)'];
    $checkValue2 = $_POST['myCheckboxes.(1)'];

    echo "$field"; //getting this output correctly
    echo "$checkValue1"; //empty output
    echo "$checkValue2"; //empty output
?>

(我将我的评论转载为答案,因为它似乎解决了问题)

要了解为什么会得到空值,请使用
var\u dump($\u POST)
查看
$\u POST
数组的完整内容(这是一种非常有用的PHP调试技术)

你可以得到几个结果:

  • 可能复选框没有分组为数组,那么在HTML中定义其名称时就会出现问题
  • 可能存在分组但值为空的情况,则相关输入或
    onsubmit()
    事件中存在问题

尝试使用
$\u POST['mycheckbox'][0]
$\u POST['mycheckbox'][1]
尝试但不打印任何输出使用
var\u dump($\u POST)
要查看
$\u POST
数组的全部内容,可能支票盒未分组为数组(定义其名称时出现问题)或为空(您对相关的输入有问题,或者可能是在
onsubmit()
事件中)。感谢Alberto,现在工作正常。我用以下代码将它们分开:
echo$_POST['myField'];echo$_POST['myCheckboxes2'];echo$_POST['myCheckboxes1'];