PHP中的非法数组声明?

PHP中的非法数组声明?,php,arrays,validation,Php,Arrays,Validation,为什么不使用W3C验证程序进行验证: form.html中的3个变量进入form.php: <?php $stuff1 = $_POST["stuff1"];//catch variables $stuff2 = $_POST["stuff2"]; $stuff3 = $_POST["stuff3"]; $myStuff[0] = $stuff1;//put into array $myStuff[1] = $stuff2; $myStuff[

为什么不使用W3C验证程序进行验证:

form.html中的3个变量进入form.php:

  <?php

   $stuff1 = $_POST["stuff1"];//catch variables
   $stuff2 = $_POST["stuff2"]; 
   $stuff3 = $_POST["stuff3"]; 
   $myStuff[0] = $stuff1;//put into array
   $myStuff[1] = $stuff2;
   $myStuff[2] = $stuff3;
  ?>   

为什么不使用W3C验证程序进行验证:

你可能误解了什么。PHP代码在服务器端生成,并输出HTML(或不输出)。上面提到的脚本不会传递任何HTML验证程序,因为对于验证程序,它将是空的。PHP和W3C验证程序互不相关


如果您收到一条PHP错误消息,请发布它。

这似乎很好,但也可以尝试一下:

 $stuff1 = $_POST["stuff1"];
 $stuff2 = $_POST["stuff2"]; 
 $stuff3 = $_POST["stuff3"]; 

 $myarray = array();
 $myarray[] = $stuff1;
 $myarray[] = $stuff2;
 $myarray[] = $stuff3;

 print_r($myarray);
还要确保将字段放在表单中,例如
form
tag


注意php代码不是要由W3C验证程序验证的,它是服务器端生成的代码。

尝试声明您的数组:

$stuff1 = $_POST["stuff1"];//catch variables
$stuff2 = $_POST["stuff2"]; 
$stuff3 = $_POST["stuff3"]; 
$myStuff = array();
$myStuff[0] = $stuff1;//put into array
$myStuff[1] = $stuff2;
$myStuff[2] = $stuff3;
请注意PHP(服务器端)和HTML(客户端)之间的区别。

试试
var\u dump($\u POST)

或者一点验证

if (isset() && !empty($_POST["stuff1")) {
    $myStuff[0] = $_POST["stuff1"];
} else {
    echo '$_POST["stuff1"] error';
}

检查所有内容是否正确发送…

我认为您可能需要key和value,post变量是array本身。W3C(html)验证程序不应该看到任何php源代码,只应该看到脚本的输出。因为您提供的代码片段没有打印验证器应该看到的任何内容…什么都没有。a) 发布原始错误消息b)提供负责输出的代码。哦,当然你是对的,有一定的区别。。但问题在于+1后面的print_r($myStuff)的问题——我认为理解这种差异可能比处理代码的错误对OP更有用;对于“上面提到的”这个词的使用(对你们这些怀疑者来说)。是的,你们所有人都纠正了其中的一些错误…,谢谢!