08.03.2014, 11:46
|
Интересующийся
|
|
Регистрация: 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'];
заранее всем спасибо
|
|
08.03.2014, 11:52
|
|
Тлен
|
|
Регистрация: 02.01.2010
Сообщений: 6,590
|
|
Обработать вручную или до или после, поведение нужно и близко не стандартное же.
__________________
29375, 35
|
|
08.03.2014, 11:58
|
Интересующийся
|
|
Регистрация: 08.03.2014
Сообщений: 16
|
|
а как это сделать?
|
|
08.03.2014, 12:08
|
|
Профессор
|
|
Регистрация: 30.04.2012
Сообщений: 3,018
|
|
var colors= ['#FFF00','#FF000'],
newColors = '[' + colors.toString().replace(/'|"/, '') + ']';
alert(newColors);
|
|
08.03.2014, 12:23
|
|
Кандидат Javascript-наук
|
|
Регистрация: 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.
|
|
08.03.2014, 12:29
|
Интересующийся
|
|
Регистрация: 08.03.2014
Сообщений: 16
|
|
Сообщение от Ruslan_xDD
|
var colors= ['#FFF00','#FF000'],
newColors = '[' + colors.toString().replace(/'|"/, '') + ']';
alert(newColors);
|
Спасибо большое.
а если массив двумерный?
|
|
08.03.2014, 12:30
|
Интересующийся
|
|
Регистрация: 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]
|
Щас попробую спасибо)
|
|
08.03.2014, 13:00
|
Интересующийся
|
|
Регистрация: 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.
|
|
08.03.2014, 13:06
|
|
Кандидат Javascript-наук
|
|
Регистрация: 27.01.2012
Сообщений: 134
|
|
У тебя все не получается или вторая строка?
Для второй строки можно так делать:
function matrix($n){
return '['.implode(',', $n).']';
}
var kordinati <? echo '['.implode(',', array_map("matrix", $kordinati)).']'; ?>
Последний раз редактировалось Zuenf, 08.03.2014 в 13:09.
|
|
08.03.2014, 14:03
|
Интересующийся
|
|
Регистрация: 08.03.2014
Сообщений: 16
|
|
Всем огромное спасибо!!
спасибо Zuenf)
Все работает)
|
|
|
|