Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/282.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/82.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
HTML PHP数组索引长度错误_Php_Html - Fatal编程技术网

HTML PHP数组索引长度错误

HTML PHP数组索引长度错误,php,html,Php,Html,我有一个html表单,其中我使用name=“array[]”对输入进行分组,然后在提交时使用PHP在数组中循环。我使用数组[]来存储问题,但是当问题(数组索引)超过64个字符时,它将不会将该数组键传递给我的PHP HTML 我得到一个数组(0) 但是,当我使用较短的索引时,它是有效的 现在,如果我手动创建关联数组,它可以正常工作: $array = array("CAN YOU SHOW US SIMILAR PROJECTS WITH THE SAME TARGET AUDIENCE? COM

我有一个html表单,其中我使用name=“array[]”对输入进行分组,然后在提交时使用PHP在数组中循环。我使用数组[]来存储问题,但是当问题(数组索引)超过64个字符时,它将不会将该数组键传递给我的PHP

HTML

我得到一个数组(0) 但是,当我使用较短的索引时,它是有效的

现在,如果我手动创建关联数组,它可以正常工作:

$array = array("CAN YOU SHOW US SIMILAR PROJECTS WITH THE SAME TARGET AUDIENCE? COMPETITORS?"=>"0");
我做错了什么

我认为从html表单到PHP肯定有问题。我正在尝试使用PHP循环输入,以便可以循环显示每个问题和相应的答案:

    foreach ($array as $key=>$value) {
        if ($value != NULL) {
            echo '<strong>' . $key . '</strong><br/>';
            echo $value . '<br/><br/>';
        }
    }
foreach($key=>$value的数组){
如果($value!=NULL){
回显“”.$key.
; 回显$value。“

”; } }
这给了我:

问题

答复

问题

答复

等等


如果不给每个输入指定自己的名称来传递问题,或者在我的HTML中对问题进行硬编码,我怎么能做到这一点呢?

您可以对问题使用隐藏输入,并将索引与答案匹配:

<input type="hidden" name="question[1]" value="CAN YOU SHOW US BLAH?">
<textarea name="answer[1]"></textarea>

可能是因为你在这么做

var_dump($_POST['array']);
当您将文本区域命名为“公司”时。试着去做

var_dump($_POST);

一种方法是列出一个由id标识的问题列表,然后以您的textarea名称提交这些id,然后从中获取结果。为什么不使用name=“corporate[]”?@AdrianCidAlmaguer我正试图将问题作为关键传递。在这种情况下,请使用数字我不想用数字引用问题,我只是想通过这个问题
foreach ($_POST['answer'] as $key => $value) {
    if (!empty($value)) {
        echo '<strong>' . $_POST['question'][$key] . '</strong><br/>';
        echo $value . '<br/><br/>';
    }
}
var_dump($_POST['array']);
var_dump($_POST);