2011-02-08 2 views
1

Вот массив php, который я использую. Я пытаюсь преобразовать каждую запись в строку и передать ее переменной javascript, но когда я использую следующий код, я получаю первую букву каждого слова в массиве php.как отправить данные массива php в переменную javascript

<?php 
$terms = array('cat', 'dog', 'bird'); 
$rand_keys = array_rand($terms); 
?> 

переменной Javascript с данными PHP массива

var searchterms = <?php echo json_encode($terms[$rand_keys]); ?>; 
+0

Вы хотите создать переменную js для каждого элемента массива php или любую js-переменную для случайного элемента массива php. – Gaurav

ответ

1

Следующий код просто взять случайный элемент из массива PHP, а не весь массив:
var searchterms = <?php echo json_encode($terms[$rand_keys]); ?>;

Используйте следующий код получить все элементы:
var searchterms = <?php foreach ($terms as $t){echo json_encode($t);} ?>

+0

спасибо, но мне нужны термины для эхо-ответа случайно – Dan

2

use shuffle($terms); then echo json_encode($terms);

+0

это отлично работает, но когда что-то мне нужно, чтобы еще много терминов в php-массиве. я посмотрел на источник, и он отображает все термины, такие как var searchterms = ["slamjam", "kenny", "opp", "heel", "dog", "bird", "lol", "flip" ааа», "Juu", "САМ", "суровый", "бен", "upndon", "кошка"]; есть ли способ заставить его отображать один термин за раз? – Dan

+0

@ Даны вы конвертируете поисковые системы в объект json? –

+0

нет, должен ли я это сделать? – Dan