Eso es a lo que me refiero, las veces que estás usando la función y te da error es porque los for() dentro de createBoard() jamás se ejecutan, eso es todo.
Justamente donde hace esto:
Código PHP:
Ver original$row = $_GET["row"];
$col = $_GET["col"];
putLine(3);
No invocas createBoard() y jamás $row ni $col estarán al alcance dentro de la función putLine() como indicas aquí:
Código PHP:
Ver originalfunction putLine($i){
$board=createBoard($row,$col);
$data=$board[$i];
for ($j=0;$j<$l;$j++){
echo $data[$j];
}
Aunque ahí si usas createBoard() las variables $row ni $col existen dentro de ese contexto.
En resumen tienes bastantes errores lógicos y de contexto, ¿alguna ves has escrito funciones propias?
Porque eso es lo que te sucede, las funciones están mal planteadas y escritas, no más.
Deberías seguir estudiando al respecto, consulta el manual.
http://php.net/manual/en/functions.user-defined.php