PHP için hata implode

3 Cevap php

Ben bu gibi üç onay kutularını var bir form var:

    <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">

ve sonra ($ _POST) ayıklamak ve bu kodu var

$comServices = implode(",", $services);

ama bir hata alıyorum:

Warning: implode () [function.implode]: geçti geçersiz argümanlar ..

Im bu hatayı alıyorum neden bilen var mı?

3 Cevap

Lütfen onay kutularını hiçbiri seçili ise $ hizmetleri yerine boş bir diziye daha undefined olurdu.

Sen $comServices = implode(",", (array)$services); bunu önlemek için ne yapabilirim.

(Değil "boş bir dizi" gibi null gibi boş) işaretli onay kutusu olduğunda $services boş olacaktır.

Sen $ hizmetleri aslında bir dizi olup olmadığını test etmek olurdu:

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

Genellikle, bu değişken Sen is_array () fonksiyonu ile bunun kontrol edebilirsiniz ... bir dizi değil demektir ...