ahora no entiendo, he probado tu codigo y me corre a la perfeccion
Código HTML:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html>
<head>
<?php
function tablero()
{
$fichas = array();
$pos_fichas = array();
$fichas[] = 3;
$fichas[] = 5;
$pos_fichas[] = 20;
$pos_fichas[] = 10;
$tablero = array();
for($i = 0; $i < count($fichas); $i++)
{
$tablero[$pos_fichas[$i]] = $fichas[$i];
}
return $tablero;
}
$var = tablero();
?>
<script type="text/javascript">
var a = "<?php echo $var[20];?>";
alert(a);//me alerta "3"
</script>
<title></title>
</head>
<body>
</body>
</html>
ahora, si lo que quieres es tener un arreglo en javascript equivalente a tu arreglo de php pues si que tienes que devolver una cadena desde php que al pasarla al interprete javascript por medio de la funcion eval() te cree un arreglo como el de php, pero en javascript, ya que no existe otra manera de decirle a javascript
: eh! el arreglo este de php, guardalo, porque recuerda que la pagina primero se procesa en el servidor, es decir, php hace todo lo que tenga que hacer con la pagina y luego la devuelve como puro texto plano y ya el navegador se encarga de 'interpretar' y de alguna manera 'compilar' ese texto plano, por lo que no existe una manera de que ese texto guarde una referencia a una variable creada en un instante determinado en el servidor
si es esto lo que quieres hacer dime y te pongo un ejemplo
saludos