Javascript-форум (https://javascript.ru/forum/)
-   Серверные языки и технологии (https://javascript.ru/forum/server/)
-   -   Передача массива из Php в Javascript (https://javascript.ru/forum/server/11900-peredacha-massiva-iz-php-v-javascript.html)

Gozar 27.09.2010 18:16

DooMer,
не нужно повторяться, каждый использует то, что хочет.

igrok 30.09.2010 16:45

json_encode однозначно :)

Gozar 30.09.2010 16:54

igrok,
зуб дашь?

igrok 01.10.2010 10:06

это конечно ИМХО, может что еще существует, но для человека, который в данный момент не знает как правильно поступить я считаю что данное решение будет самым простым и удобным, а насчет повторяться - когда я к примеру что либо ищу по форумам и вижу что много людей отвечает одинаково, то это говорит о том что решение "работает" и его как минимум можно использовать:)

Gozar 01.10.2010 10:14

igrok, если массив цифровой то использовать нужно implode, потому что он в десятки, а то и в сотни раз быстрее, иногда это очень критично и не нужно тут демагогию разводить.

DooMer 01.10.2010 11:15

Цитата:

Сообщение от Gozar (Сообщение 72631)
implode, потому что он в десятки, а то и в сотни раз быстрее, иногда это очень критично и не нужно тут демагогию разводить.

$arr = array();
$i=0;
while($i<10000000){
	$arr[$i++] = rand(1,1000);
}
$time1 = time();
$json1 = '['.implode(",",$arr).']';
$time1 =time()-$time1;
echo "time1 = $time1 \n";
$time2 = time();
$json2 = json_encode($arr);
$time2 =time()-$time2;
echo "time2 = $time2 \n";

результат
time1 = 359
time2 = 56

Так что действительно, давайте не будем разводить демагогию

diagnost 04.12.2011 13:06

А как лучше из PHP в Javascript передать массив строк?
И как красиво передать массив чисел обратно от клиента серверу?

devote 04.12.2011 13:27

Цитата:

Сообщение от diagnost
А как лучше из PHP в Javascript передать массив строк?

$strings = array('blabla', 'bebebe', 'hahaha');
echo json_encode( $strings );


Цитата:

Сообщение от diagnost
И как красиво передать массив чисел обратно от клиента серверу?

GET'ом/POST'ом

diagnost 04.12.2011 13:29

Спасибо. А когда строковый массив большой, данные изначально неизвестны и исходно передаются в массив, например, из базы данных? То-есть нужно передать массив строк с сервера в массив Javascript клиента.
Применять перебор?

devote 04.12.2011 13:52

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


Часовой пояс GMT +3, время: 08:54.