Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 08.03.2014, 11:46
Интересующийся
Отправить личное сообщение для UserAz Посмотреть профиль Найти все сообщения от UserAz
 
Регистрация: 08.03.2014
Сообщений: 16

передать PHP массив на js,без кавычек
Привет всем)
$colors = array('#FFF00','#FF000');
		$perems = array('perema','peremb');

echo json_encode($colors);    // ["#FFF00","#FF000"]
echo json_encode($perems);  //["perema","peremb"]

как передать PHP массив $perems и $colors на js,так чтобы $perems сохранилось так:
var perems= [perema,peremb];


а не так :
var perems= ["perema","peremb"];

то есть без кавычки.

а colors с одной кавычки:
var colors= ['#FFF00','#FF000'];


заранее всем спасибо
Ответить с цитированием
  #2 (permalink)  
Старый 08.03.2014, 11:52
Аватар для Aetae
Тлен
Отправить личное сообщение для Aetae Посмотреть профиль Найти все сообщения от Aetae
 
Регистрация: 02.01.2010
Сообщений: 6,493

Обработать вручную или до или после, поведение нужно и близко не стандартное же.
__________________
29375, 35
Ответить с цитированием
  #3 (permalink)  
Старый 08.03.2014, 11:58
Интересующийся
Отправить личное сообщение для UserAz Посмотреть профиль Найти все сообщения от UserAz
 
Регистрация: 08.03.2014
Сообщений: 16

а как это сделать?
Ответить с цитированием
  #4 (permalink)  
Старый 08.03.2014, 12:08
Аватар для ruslan_mart
Профессор
Отправить личное сообщение для ruslan_mart Посмотреть профиль Найти все сообщения от ruslan_mart
 
Регистрация: 30.04.2012
Сообщений: 3,018

var colors= ['#FFF00','#FF000'],
    newColors = '[' + colors.toString().replace(/'|"/, '') + ']';

alert(newColors);
Ответить с цитированием
  #5 (permalink)  
Старый 08.03.2014, 12:23
Аватар для Zuenf
Кандидат Javascript-наук
Отправить личное сообщение для Zuenf Посмотреть профиль Найти все сообщения от Zuenf
 
Регистрация: 27.01.2012
Сообщений: 134

Сделай так:
$colors = array('#FFF00','#FF000');
		$perems = array('perema','peremb');

function superQuotes($n){
    return "'".$n."'";
}

echo '['.implode(',', array_map("superQuotes", $colors)).']';    // ['#FFF00','#FF000']
echo '['.implode(',', $perems).']';  //[perema, peremb]

Последний раз редактировалось Zuenf, 08.03.2014 в 12:27.
Ответить с цитированием
  #6 (permalink)  
Старый 08.03.2014, 12:29
Интересующийся
Отправить личное сообщение для UserAz Посмотреть профиль Найти все сообщения от UserAz
 
Регистрация: 08.03.2014
Сообщений: 16

Сообщение от Ruslan_xDD Посмотреть сообщение
var colors= ['#FFF00','#FF000'],
    newColors = '[' + colors.toString().replace(/'|"/, '') + ']';

alert(newColors);
Спасибо большое.

а если массив двумерный?
Ответить с цитированием
  #7 (permalink)  
Старый 08.03.2014, 12:30
Интересующийся
Отправить личное сообщение для UserAz Посмотреть профиль Найти все сообщения от UserAz
 
Регистрация: 08.03.2014
Сообщений: 16

Сообщение от Zuenf Посмотреть сообщение
Сделай так:
$colors = array('#FFF00','#FF000');
		$perems = array('perema','peremb');

function superQuotes($n){
    return "'".$n."'";
}

echo '['.implode(',', array_map("superQuotes", $colors)).']';    // ['#FFF00','#FF000']
echo '['.implode(',', $perems).']';  //[perema, peremb]
Щас попробую спасибо)
Ответить с цитированием
  #8 (permalink)  
Старый 08.03.2014, 13:00
Интересующийся
Отправить личное сообщение для UserAz Посмотреть профиль Найти все сообщения от UserAz
 
Регистрация: 08.03.2014
Сообщений: 16

function superQuotes($n){ return '"'.$n.'"';}

$colors = array("#FFF00","#FF000");
$kordinati  = array(array("new google.maps.LatLng(13616, 613613)","new google.maps.LatLng(13616, 613613)"),
                         array("new google.maps.LatLng(13616, 613613)","new google.maps.LatLng(13616, 613613)"));
$names = array("test","test2");

я хочу чтобы так:
var colors = ['#FFF00','#FF000'];
  var kordinati =[[new google.maps.LatLng(13616, 613613),
		       new google.maps.LatLng(125125, 16361)],
		    [new google.maps.LatLng(13616, 613613),
		    new google.maps.LatLng(125125, 16361)],
				
                                  ];
  var names = [test,test2];

делаю так :
var colors = <?echo  '['.implode(',', array_map("superQuotes", $colors)).']';  ?> ;
var kordinati <? echo '['.implode(',', array_map("superQuotes", $kordinati)).']';  ?>;
 var names = <?echo '['.implode(',', $names).']'; ?>;

но не получается(

Последний раз редактировалось UserAz, 08.03.2014 в 13:07.
Ответить с цитированием
  #9 (permalink)  
Старый 08.03.2014, 13:06
Аватар для Zuenf
Кандидат Javascript-наук
Отправить личное сообщение для Zuenf Посмотреть профиль Найти все сообщения от Zuenf
 
Регистрация: 27.01.2012
Сообщений: 134

У тебя все не получается или вторая строка?
Для второй строки можно так делать:
function matrix($n){
    return '['.implode(',', $n).']';
}

var kordinati <? echo '['.implode(',', array_map("matrix", $kordinati)).']';  ?>

Последний раз редактировалось Zuenf, 08.03.2014 в 13:09.
Ответить с цитированием
  #10 (permalink)  
Старый 08.03.2014, 14:03
Интересующийся
Отправить личное сообщение для UserAz Посмотреть профиль Найти все сообщения от UserAz
 
Регистрация: 08.03.2014
Сообщений: 16

Всем огромное спасибо!!
спасибо Zuenf)
Все работает)
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
как передать массив из php в javascript ynijar Javascript под браузер 4 13.02.2013 15:37
Как получить javasript массив из php? dima_tr AJAX и COMET 6 01.02.2013 03:37
Нужно передать массив из php в JS tuezov52 AJAX и COMET 2 07.11.2011 00:08
Как передать картинку из javascript в php KIVagant AJAX и COMET 3 12.05.2010 11:54
Как передать массив из PHP в js (AJAX) Александр Иванов Общие вопросы Javascript 7 10.09.2009 10:22