Путешествие массива из php в javascript

Рейтинг: 0Ответов: 1Опубликовано: 20.03.2015

1-й способ

<?php
    $arr = new Array (...);
?>

<input id="arr" value="<?php echo json_encode($arr); ?>" hidden>

<script>
    $(function (){
      var arr = $("#arr").val(); // наш массив с "мусором"
    });
</script>

2-й способ (важен порядок кода...)

<?php
    $arrJS = json_encode($arr);
?>

<script>
    var arrJS = <?php echo $arrJS; ?>;  // отличный массив
</script>

Есть еще способы?

Ответы

▲ 1

Если используется JQuery, то можно в data- свойство запихнуть:

<?php
    $a = Array(…);
    $json = json_encode($a);
?>
<div id="some-id" data-name="<?php echo $json; ?>">…</div>
<script>
    $(function () {
        var arr = $("#some-id").data("name");
</script>

Но все случаи сводятся к json_encode на стороне PHP с последующей десериализацией в броузере.