Unseriliize data Решено
Это храниться в БД
a:2:{i:0;a:21:{s:10:"typeOfarea";s:4:"rect";s:4:"info";s:13:"273,28,307,17";s:9:"showpanel";s:2:"on";s:6:"number";s:2:"on";s:10:"changearea";s:2:"on";s:5:"coord";s:2:"on";s:8:"fillpoly";s:14:"rgb(0, 255, 0)";s:8:"fillrect";s:16:"rgb(205, 51, 51)";s:9:"fillround";s:16:"rgb(153, 153, 0)";s:11:"opacityfill";s:3:"0.4";s:10:"sizestroke";s:1:"2";s:10:"strokepoly";s:15:"rgb(51, 0, 102)";s:10:"strokerect";s:14:"rgb(0, 51, 51)";s:11:"strokeround";s:15:"rgb(102, 51, 0)";s:13:"opacitystroke";s:3:"0.8";s:9:"sizepoint";s:1:"2";s:10:"colorpoint";s:14:"rgb(255, 0, 0)";s:10:"numbersize";s:2:"16";s:9:"colorfont";s:12:"rgb(0, 0, 0)";s:9:"coloredit";s:16:"rgb(204, 255, 0)";s:11:"areadefault";s:6:"dialog";}i:1;a:22:{s:10:"typeOfarea";s:6:"circle";s:4:"info";s:13:"426,11,458,14";s:6:"radius";s:2:"32";s:9:"showpanel";s:2:"on";s:6:"number";s:2:"on";s:10:"changearea";s:2:"on";s:5:"coord";s:2:"on";s:8:"fillpoly";s:14:"rgb(0, 255, 0)";s:8:"fillrect";s:16:"rgb(205, 51, 51)";s:9:"fillround";s:16:"rgb(153, 153, 0)";s:11:"opacityfill";s:3:"0.4";s:10:"sizestroke";s:1:"2";s:10:"strokepoly";s:15:"rgb(51, 0, 102)";s:10:"strokerect";s:14:"rgb(0, 51, 51)";s:11:"strokeround";s:15:"rgb(102, 51, 0)";s:13:"opacitystroke";s:3:"0.8";s:9:"sizepoint";s:1:"2";s:10:"colorpoint";s:14:"rgb(255, 0, 0)";s:10:"numbersize";s:2:"16";s:9:"colorfont";s:12:"rgb(0, 0, 0)";s:9:"coloredit";s:16:"rgb(204, 255, 0)";s:11:"areadefault";s:6:"dialog";}} Тоже в нормальном виде если использую функцию unserialize на стороне сервера [array] allzona [array] 0 [string] areadefault = "dialog" [string] changearea = "on" [string] coloredit = "rgb(204, 255, 0)" [string] colorfont = "rgb(0, 0, 0)" [string] colorpoint = "rgb(255, 0, 0)" [string] coord = "on" [string] fillpoly = "rgb(0, 255, 0)" [string] fillrect = "rgb(205, 51, 51)" [string] fillround = "rgb(153, 153, 0)" [string] info = "273,28,307,17" [string] number = "on" [string] numbersize = "16" [string] opacityfill = "0.4" [string] opacitystroke = "0.8" [string] showpanel = "on" [string] sizepoint = "2" [string] sizestroke = "2" [string] strokepoly = "rgb(51, 0, 102)" [string] strokerect = "rgb(0, 51, 51)" [string] strokeround = "rgb(102, 51, 0)" [string] typeOfarea = "rect" [array] 1 [string] areadefault = "dialog" [string] changearea = "on" [string] coloredit = "rgb(204, 255, 0)" [string] colorfont = "rgb(0, 0, 0)" [string] colorpoint = "rgb(255, 0, 0)" [string] coord = "on" [string] fillpoly = "rgb(0, 255, 0)" [string] fillrect = "rgb(205, 51, 51)" [string] fillround = "rgb(153, 153, 0)" [string] info = "426,11,458,14" [string] number = "on" [string] numbersize = "16" [string] opacityfill = "0.4" [string] opacitystroke = "0.8" [string] radius = "32" [string] showpanel = "on" [string] sizepoint = "2" [string] sizestroke = "2" [string] strokepoly = "rgb(51, 0, 102)" [string] strokerect = "rgb(0, 51, 51)" [string] strokeround = "rgb(102, 51, 0)" [string] typeOfarea = "circle" если пишу так restore = new Array();//массив для хранения информации о точках var restore=<? echo $allzona ?>; alert(restore); то выводит function Array() { [native code] } если пытаюсь обратиться к restore[0] то выдает ошибку. Можно конечно не использовать unserialize на стороне сервера, а передавать скрипту ту огромную строку данных, но как парсить много мерные массивы в строковом виду ума не приложу. Сделал вот так и заработало $allzona = json_encode(unserialize($result['area_setting']));:dance: |
Отформатируй свой код!
Для этого его можно заключить в специальные теги: js/css/html и т.п., |
нужно было сделасть вот так
$allzona = json_encode(unserialize($result['area_setting'])); заработало, на стороне клеинта restore=<? echo $allzona ?>; а дальше к restore как к массиву |
Часовой пояс GMT +3, время: 17:25. |