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 в javascript

 PHP.SU

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


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

> Без описания
SAD
Отправлено: 18 Января, 2010 - 00:06:59
Post Id



Постоянный участник


Покинул форум
Сообщений всего: 2508
Дата рег-ции: Май 2009  
Откуда: Днепропетровск, Украина


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




Такой вопрос, есть ли способ присвоить массив php массиву javascript.
 
 Top
vitaliy_mad
Отправлено: 18 Января, 2010 - 00:10:26
Post Id


Участник


Покинул форум
Сообщений всего: 1107
Дата рег-ции: Окт. 2008  
Откуда: Украина, Мариуполь


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




если числовой массив то так... текстовый надо предварительно обрабатывать
PHP:
скопировать код в буфер обмена
  1. echo '<script type="text/javascript">
  2. var arr=new Array('.implode(',',$phparr).');
  3. </script>
  4. ';
 
 Top
SAD
Отправлено: 18 Января, 2010 - 00:12:29
Post Id



Постоянный участник


Покинул форум
Сообщений всего: 2508
Дата рег-ции: Май 2009  
Откуда: Днепропетровск, Украина


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




вот как раз массив не числовой, тогда как?
 
 Top
vitaliy_mad
Отправлено: 18 Января, 2010 - 00:19:20
Post Id


Участник


Покинул форум
Сообщений всего: 1107
Дата рег-ции: Окт. 2008  
Откуда: Украина, Мариуполь


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




каждый элемент обрамит кавычкой
PHP:
скопировать код в буфер обмена
  1. unset($tmp);
  2. foreach ($phparr as $dta) {
  3. $tmp[]='\''.$dta.'\'';
  4. }
  5. echo '<script type="text/javascript">
  6. var arr=new Array('.implode(',',$tmp).');
  7. </script>
  8. ';
 
 Top
SAD
Отправлено: 18 Января, 2010 - 01:38:13
Post Id



Постоянный участник


Покинул форум
Сообщений всего: 2508
Дата рег-ции: Май 2009  
Откуда: Днепропетровск, Украина


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




спасибо, пригодилось все!
(Добавление)
А есть ли еще какой нибудь способ присваивания, чтобы не было прямого прописывания элементов массива? просто нельзя, чтобы эту часть кода было видно...
 
 Top
vitaliy_mad
Отправлено: 18 Января, 2010 - 03:55:55
Post Id


Участник


Покинул форум
Сообщений всего: 1107
Дата рег-ции: Окт. 2008  
Откуда: Украина, Мариуполь


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




нет... по одной причине... php исполняется на стороне сервера, а JS - на стороне клиента...
 
 Top
SAD
Отправлено: 18 Января, 2010 - 10:52:00
Post Id



Постоянный участник


Покинул форум
Сообщений всего: 2508
Дата рег-ции: Май 2009  
Откуда: Днепропетровск, Украина


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




это я знаю... плохо, очень плохо
(Добавление)
а в цикле вбить не получиться?
 
 Top
EuGen Администратор
Отправлено: 18 Января, 2010 - 10:54:13
Post Id


Профессионал


Покинул форум
Сообщений всего: 9095
Дата рег-ции: Июнь 2007  
Откуда: Berlin


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




Попробуйте сделать так:
При помощи php динамически генерировать некоторый файл include.js - туда записывать массив с нужными элементами.
В требуемом шаблоне html просто подключать этот файл.
Этот бесхитростный прием, конечно, не защитит от сообразительных пользователей.


-----
Есть в мире две бесконечные вещи - это Вселенная и человеческая глупость. Но насчет первой .. я не уверен.
 
 Top
SAD
Отправлено: 18 Января, 2010 - 10:55:38
Post Id



Постоянный участник


Покинул форум
Сообщений всего: 2508
Дата рег-ции: Май 2009  
Откуда: Днепропетровск, Украина


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




появилась проблема с массивами.
есть кусок кода
CODE (javascript):
скопировать код в буфер обмена
  1.  
  2. if(arr[aa]==gg) // проблема тут
  3.   count++;
  4.  
  5. ans_str.splice(0,0,otv[aa]);// и тут


в массивах arr и otv храниться больше 30 элементов(как они получены смотреть помощь vitaly_mad), массив ans_str набирает длину постепенно, aa - обычные целые числа,например,от 0 до 49(если,например,массив arr и otv длины 50).
вот после этого куска кода код дальше выполняться отказывается.
если его убрать, то все нормально.
(Добавление)
проблема все таки в том как получены массивы, т.к. массив чисел arr, я получил другим способом, и в первой строчке проблема пропадает. а вот во второй остается. в чем прикол, массив otv, я не могу получить другим способом.

(Отредактировано автором: 18 Января, 2010 - 12:09:22)

 
 Top
valenok
Отправлено: 18 Января, 2010 - 13:07:57
Post Id



Здесь могла бы быть ваша реклама


Покинул форум
Сообщений всего: 4574
Дата рег-ции: Июль 2006  
Откуда: Israel


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




Откройте консоль ошибок и посмотрите текст ошибки.
И как получены массивы на тоже не интересно. В крайнем случае - их содержание.


-----
Truly yours, Sasha.
 
My status
 Top
SAD
Отправлено: 18 Января, 2010 - 13:11:48
Post Id



Постоянный участник


Покинул форум
Сообщений всего: 2508
Дата рег-ции: Май 2009  
Откуда: Днепропетровск, Украина


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




содержание otv
CODE (text):
скопировать код в буфер обмена
  1.   otv=new Array('Пирамиды','Прозерпина','Щука','Дельфины','Сестра','Европа','Тамтам','Скрипка','Глухота','Из нефронов','Ивановская','Отороченные мехом','Ижица','Верстовский','Микроклимат','''Черная смерть''','Компромисс','Клио','Птица','ВМФ','''Серпантин''','Доминиканская Республика','Чертями','Декабрь','Керн','Гребля','Наталья Николаевна','Бельгия','Чекушка','Пачули','Кудрявая','50 герц','Бусидо','Латышский','Якудза','Арак','Теннис','Минский','Индонезия','Веспасиан','Р. Киплинг','Ногу свело','Керлинг','Благовещенск','Кукушка','Орел','К струнным смычковым','День города','Гороховки','Владикавказ');

ошибка
CODE (text):
скопировать код в буфер обмена
  1. Ошибка: missing ) after argument list
  2. Источник: http://localhost/work/index.php
  3. Строка 562, символ 190
  4. Исходный код:
  5.   otv=new Array('Пирамиды','Прозерпина','Щука','Дельфины','Сестра','Европа','Тамтам','Скрипка','Глухота','Из нефронов','Ивановская','Отороченные мехом','Ижица','Верстовский','Микроклимат','''Черная смерть''','Компромисс','Клио','Птица','ВМФ','''Серпантин'


хотя она там есть
 
 Top
Мелкий Супермодератор
Отправлено: 18 Января, 2010 - 14:22:09
Post Id



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


Покинул форум
Сообщений всего: 11926
Дата рег-ции: Июль 2009  
Откуда: Россия, Санкт-Петербург


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




CODE (javascript):
скопировать код в буфер обмена
  1. ,'''Серпантин''',

Скорей всего жалуется именно на тройные кавычки.


-----
PostgreSQL DBA
 
 Top
SAD
Отправлено: 18 Января, 2010 - 15:05:08
Post Id



Постоянный участник


Покинул форум
Сообщений всего: 2508
Дата рег-ции: Май 2009  
Откуда: Днепропетровск, Украина


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




та врядли, там вообще не 3 кавычки, а
 
 Top
SAD
Отправлено: 19 Января, 2010 - 19:55:16
Post Id



Постоянный участник


Покинул форум
Сообщений всего: 2508
Дата рег-ции: Май 2009  
Откуда: Днепропетровск, Украина


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




есть проблема в закодирование массива в JSON.
вот код

происходит вывод самого массива и его кодированого в JSON
CODE (htmlphp):
скопировать код в буфер обмена
  1. (
  2.     [0] => Array
  3.         (
  4.             [vopr] => Кто из этих американских президентов ''правил'' только один срок?
  5.             [yourans] => Клинтон
  6.             [rightans] => Буш
  7.         )
  8.  
  9.     [1] => Array
  10.         (
  11.             [vopr] => Кто такие были БЕРЕНДЕИ?
  12.             [yourans] => Скандинавское племя
  13.             [rightans] => Тюркское племя
  14.         )
  15.  
  16. )
  17. [{"vopr":"","yourans":"","rightans":""},{"vopr":"","yourans":"","rightans":""}]

В чем может быть проблема?

(Отредактировано автором: 19 Января, 2010 - 19:57:28)

 
 Top
Ch_chov
Отправлено: 19 Января, 2010 - 20:23:22
Post Id



Постоянный участник


Покинул форум
Сообщений всего: 2121
Дата рег-ции: Июль 2008  
Откуда: из города


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




Попробуй перекодировать файл в utf-8

На всякий случай отправляй заголовок
PHP:
скопировать код в буфер обмена
  1. header('Content-Type: application/json; charset=utf-8');
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« JavaScript & VBScript »


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



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

 
Powered by ExBB FM 1.0 RC1. InvisionExBB