У меня есть двумерный php-массив $ phpar, в котором оба измерения индексируются (0,1,2, ...), а все значения являются простым текстом. В рамках функции JavaScript я хочу преобразовать этот массив в двумерный массив JavaScript. Я знаю, что следующий код не работает, но он иллюстрирует то, что я хочу сделать.преобразовать двумерный массив php в JavaScript
jsfunction() {
var jsarray = new Array();
jsarray = <?php json_encode($phpar); ?>;
}
Если возвращенное значение есть нечто иное, чем обычный JS массива, как строка JSON, мне нужна помощь при разборе, что в то, что я хочу, пожалуйста.
Что вы сделали должны работать просто отлично, если предположить, что '$ phpar' действительно содержит двумерный массив. (Кроме того, нет необходимости в '= new Array()' вообще, вы просто создаете массив, чтобы выбросить его на следующей строке). Итак, что вы хотите сделать, если это не работает, посмотрите, что получает * браузер * для него, и обновите переменную PHP, чтобы она действительно содержала двумерный массив. –
Обратите внимание, что существует возможная проблема безопасности: когда $ phpar зависит от ввода пользователя, он может содержать строку с тегом, а затем вредоносную информацию, которая будет введена на вашей веб-странице. – AardvarkSoup
Продолжение: добавление параметров JSON_HEX_QUOT | JSON_HEX_TAG | JSON_HEX_AMP | JSON_HEX_APOS в json_encode предотвратит эту и некоторые другие уязвимости, но я бы не посмел сказать, что это предотвращает все возможные атаки.Вероятно, лучше не вставлять динамический контент в свои JS-скрипты напрямую. – AardvarkSoup