PHP的内爆错误

时间:2010-05-06 21:21:37

标签: php implode

我有一个表格,我有三个这样的复选框:

    <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]:传入的参数无效..

有谁知道为什么我会收到这个错误?

3 个答案:

答案 0 :(得分:13)

如果没有选中任何复选框,则$ services将是未定义的,而不是空数组。

您可以执行$comServices = implode(",", (array)$services);来阻止它。

答案 1 :(得分:2)

如果没有选中复选框,则

$services将为空(如null中的空,而不是“空数组”中的空白。)

你必须测试$ services是否实际上是一个数组:

if (is_array($services))
 $comServices = implode(",", $services)

答案 2 :(得分:0)

通常,这意味着您的变量不是数组...您可以使用is_array()函数检查它...