Я переношу приложение с 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
Вы можете использовать json_encode
а затем просто поместить его в свой код просмотра.
PHP:
$contents = json_encode($contents);
а затем в вашем javascript:
<script>
var content = <?=$contents; ?>;
</script>
Заметки :
(1) Вы можете закодировать свой массив с помощью json_encode ($ array) из php.
(2) На стороне клиента (т.е. Javascript) вы можете декодировать этот массив.
PHP:
$data = json_encode($contents);
Javascript:
var jsonData = JSON.parse(data);
<?=
Может работать не на всех серверах. Лучше всего просто использовать<?php echo
<?php echo $contents;?>