Esta solución que publicaste:
<script>
var jsonarray = <?php echo json_encode($array); ?>;
// now you can use jsonarray in your javascript
</script>
Es en realidad un muy buen enfoque. El uso de AJAX es drásticamente más lento (debido a la latencia de la red).
A menos que realmente necesite AJAX por alguna razón, debe evitar usarlo. Agregará una fracción de segundo notable de tiempo de carga a la página, a menudo sin ningún beneficio.
Sobre todo, al estructurar su página, desea intentar reducir el número de solicitudes de red individuales entre el navegador y el servidor. Cuantas menos solicitudes, más rápida será su página. Esto es especialmente cierto para javascript y ajax, porque son impredecibles y a los navegadores les resulta muy difícil optimizar cualquier parte de la página donde se está utilizando.
Estamos hablando de un cuarto de segundo en comparación con una millonésima de segundo, para obtener exactamente el mismo resultado final.