我有一个表格,我有三个这样的复选框:
<td>Wireless <input type="checkbox" name="services[]" value="wireless" /></td>
</tr>
<tr>
<td>Cellular <input type="checkbox" name="services[]" value="cellular" /></td>
</tr>
<tr>
<td>Security <input type="checkbox" name="services[]" value="Security" /></td>
<input type="submit" name="submit">
然后我解压缩($ _ POST),并拥有此代码
$comServices = implode(",", $services);
但是我收到了错误:
警告:implode()[function.implode]:传入的参数无效..
有谁知道为什么我会收到这个错误?
答案 0 :(得分:13)
如果没有选中任何复选框,则$ services将是未定义的,而不是空数组。
您可以执行$comServices = implode(",", (array)$services);
来阻止它。
答案 1 :(得分:2)
$services
将为空(如null
中的空,而不是“空数组”中的空白。)
你必须测试$ services是否实际上是一个数组:
if (is_array($services))
$comServices = implode(",", $services)
答案 2 :(得分:0)
通常,这意味着您的变量不是数组...您可以使用is_array()函数检查它...