Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: Передача данных с php в js

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (1): [1]   

> Без описания
nata031189
Отправлено: 27 Апреля, 2012 - 10:50:48
Post Id


Новичок


Покинул форум
Сообщений всего: 7
Дата рег-ции: Март 2012  


Помог: 0 раз(а)




Есть например массив в php и он содержит числа 1,2,3
Как получить в js файле значения этого массива?
 
 Top
Alho
Отправлено: 27 Апреля, 2012 - 10:57:22
Post Id



Посетитель


Покинул форум
Сообщений всего: 322
Дата рег-ции: Апр. 2012  


Помог: 11 раз(а)




Общих массивов нет. Можно просто на странице вывести значения. Вроде этого:
PHP:
скопировать код в буфер обмена
  1. <?PHP
  2. $a=1;
  3. $b=2;
  4. echo "<script>a=[$a, $b]</script>";
  5. ?>
  6. <input type=button onClick="javascript:alert(a);"></input>
 
 Top
nata031189
Отправлено: 27 Апреля, 2012 - 11:22:50
Post Id


Новичок


Покинул форум
Сообщений всего: 7
Дата рег-ции: Март 2012  


Помог: 0 раз(а)




А как будет выглядить код, если у нас в массиве не числовые данные, а строки?
 
 Top
Alho
Отправлено: 27 Апреля, 2012 - 11:41:53
Post Id



Посетитель


Покинул форум
Сообщений всего: 322
Дата рег-ции: Апр. 2012  


Помог: 11 раз(а)




nata031189 пишет:
А как будет выглядить код, если у нас в массиве не числовые данные, а строки?

А какая разница?
PHP:
скопировать код в буфер обмена
  1.     <?PHP
  2.     $a=["Very", "long", "string"];
  3.     $arr="<script>a=[".implode("\", \"", $a)."]</script>";
  4.     ?>
  5.     <input type=button onClick="javascript:alert(a);"></input>

(Отредактировано автором: 27 Апреля, 2012 - 11:50:06)

 
 Top
nata031189
Отправлено: 27 Апреля, 2012 - 12:15:52
Post Id


Новичок


Покинул форум
Сообщений всего: 7
Дата рег-ции: Март 2012  


Помог: 0 раз(а)




не знаю какая разница, но у меня этот код не работает
 
 Top
DeepVarvar Супермодератор
Отправлено: 27 Апреля, 2012 - 12:23:16
Post Id



Активный участник


Покинул форум
Сообщений всего: 10377
Дата рег-ции: Дек. 2008  
Откуда: Альфа Центавра


Помог: 353 раз(а)




Alho, вам нужно на матчасть поднажать.
nata031189 json_encode
(Добавление)
Ух-ты, нету в нашем списке этой ф-ции.
Тогда пример:
PHP:
скопировать код в буфер обмена
  1. $arr = array(
  2.   "mama" => array(1, 2, "hello"),
  3.   "papa" => array("names" => array("a", "b", "c"), 3456, "goodbye")
  4. );
  5.  
  6. echo json_encode($arr);
 
 Top
nata031189
Отправлено: 27 Апреля, 2012 - 14:15:11
Post Id


Новичок


Покинул форум
Сообщений всего: 7
Дата рег-ции: Март 2012  


Помог: 0 раз(а)




PHP:
скопировать код в буфер обмена
  1.  
  2. $count = count($arrPosition);
  3. $i = 0;
  4. echo "<script>
  5. var arrPos = new Array();
  6. for( i = 0; i < $count; i++){
  7. arrPos[i] = $arrPosition[$i];
  8. }
  9. </script>";
  10.  

Есть массив $arrPosition и его нужно пепезаписать в массив arrPos, но этот код не работает.
$i как было =0, так и остается, а если поставить $i++, так цикл выполнится только 1 раз.
Как быть?
 
 Top
Alho
Отправлено: 27 Апреля, 2012 - 14:29:58
Post Id



Посетитель


Покинул форум
Сообщений всего: 322
Дата рег-ции: Апр. 2012  


Помог: 11 раз(а)




PHP:
скопировать код в буфер обмена
  1. <?PHP
  2. $arr=array(1, 2, 3);
  3. $out = '<script>
  4. var arr = new Array();
  5. arr=["'.implode('", "', $arr).'"];</script>';
  6. echo $out;
  7. ?>
  8. <input type=button onClick="javascript:alert(arr);"></input>
 
 Top
DelphinPRO
Отправлено: 27 Апреля, 2012 - 14:33:41
Post Id



Активный участник


Покинул форум
Сообщений всего: 7187
Дата рег-ции: Февр. 2012  


Помог: 353 раз(а)




nata031189 пишет:
Как быть?

уже сказали - учить матчасть.
PHP исполняется на сервере. javascript - на клиенте.
Когда начианет выполнятся javacript в браузере, PHP скрипт на сервере уже завершил свою работу.


-----
Чем больше узнаю, тем больше я не знаю.
 
 Top
nata031189
Отправлено: 27 Апреля, 2012 - 16:15:33
Post Id


Новичок


Покинул форум
Сообщений всего: 7
Дата рег-ции: Март 2012  


Помог: 0 раз(а)




Alho пишет:
PHP:
скопировать код в буфер обмена
  1. <?PHP
  2. $arr=array(1, 2, 3);
  3. $out = '<script>
  4. var arr = new Array();
  5. arr=["'.implode('", "', $arr).'"];</script>';
  6. echo $out;
  7. ?>
  8. <input type=button onClick="javascript:alert(arr);"></input>


Огромнейшее спасибо!!!
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Программирование на PHP »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB