Diese Lösung, die Sie gepostet haben:
<script>
var jsonarray = <?php echo json_encode($array); ?>;
// now you can use jsonarray in your javascript
</script>
Ist eigentlich ein sehr guter Ansatz. Die Verwendung von AJAX ist drastisch langsamer (aufgrund der Netzwerklatenz).
Sofern Sie AJAX nicht aus irgendeinem Grund wirklich benötigen, sollten Sie es vermeiden. Es verlängert die Ladezeit der Seite um einen spürbaren Bruchteil einer Sekunde, oft ohne Nutzen.
Vor allem beim Aufbau Ihrer Seite möchten Sie versuchen, die Anzahl der einzelnen Netzwerkanfragen zwischen Browser und Server zu reduzieren. Je weniger Anfragen, desto schneller wird Ihre Seite. Dies gilt insbesondere für Javascript und Ajax, da sie unvorhersehbar sind und Browser es sehr schwierig finden, irgendeinen Teil der Seite, auf dem es verwendet wird, zu optimieren.
Wir sprechen von einer Viertelsekunde im Vergleich zu einer Millionstelsekunde, für genau das gleiche Endergebnis.