因为 $foo.x 和 $foo.y 在 PHP 里是无效的变量名, 所以它们自动被转换成$foo_x and $foo_y. 也就是说, 圆点被替换成了下划线.
3. 我怎样创建 HTML <form>数组?
为了使你的表单结果作为数组送往PHP脚本,你可以给 <input>, <select> or <textarea> 元素象下面这样取名: <input name="MyArray[]"><input name="MyArray[]"><input name="MyArray[]"><input name="MyArray[]">注意元素名后面的中括号不能省, 就是它使结果成为一个数组. 你可以通过元素名把它们排成不同的数组 : <input name="MyArray[]"><input name="MyArray[]"><input name="MyOtherArray[]"><input name="MyOtherArray[]">上面的代码产生了两个数组, MyArray 和 MyOtherArray, 送往PHP. 当然也可以为你的数组指明键值: <input name="AnotherArray[]"><input name="AnotherArray[]"><input name="AnotherArray[email]"><input name="AnotherArray[phone]">AnotherArray 数组会容纳下标 0, 1, email and phone.
说明: 在元素名里标明下标值是可选的.如果你没有标明,数组会按元素在表单里出现的顺序来依次填充. 如我们的头一个例子里数组的下标分别是: 0, 1, 2 and 3.
参见 Array 函数 and PHP外部变量.
4. 我怎样从一个多选框得到所有的结果值?
HTML里的多选框是用来让用户从列表里选多个值的.这些值然后被送往表单的处理脚本. 问题在于它们都有同样的变量名. 例如: <select name="var" multiple>每一个被选择的项会这样传值给处理脚本: var=option1var=option2var=option3每个值覆盖了前一项的值. $var 解决办法是使用 PHP的 "表单元素数组"特性.下面就是: <select name="var[]" multiple>PHP会把 $var当成一个数组.每个被选择项都会分配给一个数组单元. 第一项是$var[0], 下一项是 $var[1], 依此类推. count() 函数可以用来判断数组有多少选择项 ,如果有必要的话,还可以用 sort() 函数来对数组进行排序.
如果你在使用 JavaScript , 直接使用元素名引用可能会出错. 你应该使用它的数字索引,或者把变量名放在单引号之内.例如: variable = documents.forms[0].elements['var[]'];







