El titulo lo dice todo, pero una cosa tan sencilla, me ha echo perder un tiempo valioso.
En un formulario, pasar los campos por post/get es facil, pero si tenemos un listado de campos múltiples o tenemos un listado de checkbox, como los pasamos? Uno a uno? Que matada no?
Investigando, un poco encontré que el php detecta como array cualquier nombre terminado en corchetes '[ ]'.
Osea, que aplicando lo dicho, tendríamos que hacer lo siguiente en los checkboxes:

HTML:
  1. <input type='checkbox' name="valor[]"  value=1>Campo1

  2. <input type='checkbox' name="valor[]"  value=2>Campo2

  3. <input type='checkbox' name="valor[]"  value=3>Campo3

  4. <input type='checkbox' name="valor[]"  value=4>Campo4

De igual manera en un listado de campos multiple selección

HTML:
  1. <select multiple name="campos[]">
  2. <option value="1">campo1</option> 
  3. <option value="2">campo2</option>
  4. <option value="3">campo3</option>
  5. <option value="4">campo4</option>
  6. </select>

Para capturar los datos, des del php haremos como cualquier otro tipo de dato, en este caso, por post


PHP:
  1. $campos = $_POST['campos'];


Y el resultado obtenido nos será un array con los campos seleccionados.