Hola Porfirio,
podría ser algo así:
<?php
/*
* @Prometeus Technology, a subsidiary of Pegasus Tech Supply
* @copyright Copyright (C) 2005-2013 Leonardo Tadei. All rights reserved.
* @license http://www.gnu.org/copyleft/gpl.html GNU/GPL, see gpl-3.0.txt
* Checkboxes is free software. This version may have been modified pursuant
* to the GNU General Public License, and as distributed it includes or
* is derivative of works licensed under the GNU General Public License or
* other free or open source software licenses.
*/
// Configura los checkboxes a generar
// nombre, titulo, checkeado, habilitado
$ch = array(
array('carta', 'carta', true, false),
array('curriculom', 'CV', true, true),
array('memoria_foto', 'memoria fotográfica', false, true),
array('supervision', 'supervision', true, true)
);
function generarCheckbox($par) {
$tmp = '';
foreach($par as $e){
$k = ''; if($e[2]) { $k = ' checked '; }
$d = ''; if($e[3]) { $d = ' disabled '; }
$tmp .= "<input type='checkbox' name='{$e[0]}' id='{$e[0]}' title='{$e[1]}' $k $d />\n";
}
return $tmp;
}
$salida = generarCheckbox($ch);
?>
<!DOCTYPE html>
<html>
<head>
<title>Generar Checkboxes</title>
<meta name="generator" content="Bluefish 2.2.3" />
<meta name="author" content="leo" />
<meta name="date" content="2013-11-11T16:51:00-0300" />
<meta name="copyright" content=""/>
<meta http-equiv="content-type" content="application/xhtml+xml; charset=UTF-8"/>
</head>
<body>
<form name="ff" id="ff" action="?" method="post">
<?php print($salida); ?>
</form>
</body>
</html>
Con esto, generar más checkbox es agregar elementos al vector.
Sin embargo, yo haría que la función devuelva un solo elemento en vez de devolver todos, para poder controlar mejor cuándo emitir cada checkbox.
Depende de cómo estructures tus formularios, pero tal vez sería buena idea generar también un LABEL que contenga el TITLE, así queda también la parte que ve el usuario del formulario.
Se podría generalizar más todavía para generar diferentes tipos de inputs, pero esto tiene que ser siempre más fácil de usar que el HTML, porque si no nadie lo usará.
Saludos!