Лучший способ превратить PHP-массив в Javascript

0

Я переношу приложение с PHP на Javascript, и мне нужно преобразовать большой многоразовый файл. Я хотел бы знать, какая будет лучшая структура/формат, поскольку я считаю, что есть несколько способов сделать это.

Способ доступа к массиву - это выбор его подмассивов по ключу (level_1, level_2 и т.д.) И повторение их, чтобы извлечь все их значения, используя их ключи (тип, единицы, число и т.д.).

Это образец массива PHP:

public $contents= array(
        'level_1' => array(
                array('type' => 'unit', 'units' => array(1, 2, 3, 4, 5)),
                array('type' => 'review', 'num' => 1, 'txt' => 'Units 1-5'),
                array('type' => 'unit', 'units' => array(6, 7, 8, 9, 10)),
                array('type' => 'review', 'num' => 2, 'txt' => 'Units 6-10'),
                array('type' => 'unit', 'units' => array(11, 12, 13, 14, 15)),
                array('type' => 'review', 'num' => 3, 'txt' => 'Units 11-15'),
        ),
        'level_2' => array(
                array('type' => 'unit', 'units' => array(16, 17, 18, 19, 20)),
                array('type' => 'review', 'num' => 4, 'txt' => 'Units 16-20'),
                array('type' => 'unit', 'units' => array(21, 22, 23, 24, 25)),
                array('type' => 'review', 'num' => 5, 'txt' => 'Units 21-25'),
                array('type' => 'unit', 'units' => array(26, 27, 28, 29, 30)),
                array('type' => 'review', 'num' => 6, 'txt' => 'Units 26-30'),
        ),
        ...
}

РЕДАКТИРОВАТЬ

Чтобы уточнить, я переношу приложение, поэтому мне нужно повторно объявить этот массив в javascript, а не вызывать его из javascript

Теги:

2 ответа

1
Лучший ответ

Вы можете использовать json_encode а затем просто поместить его в свой код просмотра.

PHP:

$contents = json_encode($contents);

а затем в вашем javascript:

<script>
    var content = <?=$contents; ?>;
</script>
  • 2
    Примечание <?= Может работать не на всех серверах. Лучше всего просто использовать <?php echo
  • 0
    100% совместимая версия - это <?php echo $contents;?>
Показать ещё 4 комментария
0

Заметки :

(1) Вы можете закодировать свой массив с помощью json_encode ($ array) из php.

(2) На стороне клиента (т.е. Javascript) вы можете декодировать этот массив.

PHP:

$data = json_encode($contents);

Javascript:

var jsonData = JSON.parse(data);

Ещё вопросы

Сообщество Overcoder
Наверх
Меню