Questa soluzione che hai pubblicato:
<script>
var jsonarray = <?php echo json_encode($array); ?>;
// now you can use jsonarray in your javascript
</script>
In realtà è un ottimo approccio. L'uso di AJAX è drasticamente più lento (a causa della latenza della rete).
A meno che tu non abbia davvero bisogno di AJAX per qualche motivo, dovresti evitare di usarlo. Aggiungerà una frazione di secondo notevole di tempo di caricamento alla pagina, spesso senza alcun beneficio.
Soprattutto durante la strutturazione della tua pagina, vuoi provare a ridurre il numero di singole richieste di rete tra il browser e il server. Meno richieste, più veloce sarà la tua pagina. Ciò è particolarmente vero per javascript e ajax, perché sono imprevedibili e i browser trovano molto difficile ottimizzare qualsiasi parte della pagina in cui vengono utilizzati.
Parliamo di un quarto di secondo rispetto a un milionesimo di secondo, esattamente per lo stesso risultato finale.