Esta solução que você postou:
<script>
var jsonarray = <?php echo json_encode($array); ?>;
// now you can use jsonarray in your javascript
</script>
É realmente uma abordagem muito boa. O uso do AJAX é drasticamente mais lento (por causa da latência da rede).
A menos que você realmente precise do AJAX por algum motivo, evite usá-lo. Ele adicionará uma fração de segundo notável de tempo de carregamento à página, geralmente sem nenhum benefício.
Acima de tudo, ao estruturar sua página, você deseja tentar reduzir o número de solicitações de rede individuais entre o navegador e o servidor. Quanto menos solicitações, mais rápida será sua página. Isso é especialmente verdadeiro para javascript e ajax, porque eles são imprevisíveis e os navegadores acham muito difícil otimizar qualquer parte da página onde está sendo usado.
Estamos falando de um quarto de segundo comparado a um milionésimo de segundo, exatamente para o mesmo resultado final.