Доброго времени суток товарищи Вот понадобилось достать сформированный в PHP ассоциативный массив помещенный в кук в json_encode адекватно(корректно) вывести html! Прилагаю скрипт: Код (PHP): <?php if(isset($_COOKIE['orders'])){ $orders= unserialize($_COOKIE['orders']); #$orders= unserialize($_COOKIE['orders']); $json=json_encode($orders); setcookie('JSON',$json) ; } else { $orders=array(); } if (isset($_POST['name']) && isset($_POST['count']) && isset($_POST['delivery']) && isset($_POST['payment'])) { $name = $_POST['name']; $count = $_POST['count']; $delivery = $_POST['delivery']; $payment = $_POST['payment']; $orders_new = array(); $orders_new['name'] = $name; $orders_new['count'] = $count; $orders_new['delivery'] = $delivery; $orders_new['payment'] = $payment; array_push($orders,$orders_new); } var_dump($orders); if( setcookie('orders', serialize($orders)) ){ echo 'cookies is set'; } else { echo 'Doh'; } ?> и js Код (PHP): function getCookie(name) { var cookie = " " + document.cookie; var search = " " + name + "="; var setStr = null; var offset = 0; var end = 0; if (cookie.length > 0) { offset = cookie.indexOf(search); if (offset != -1) { offset += search.length; end = cookie.indexOf(";", offset) if (end == -1) { end = cookie.length; } setStr = unescape(cookie.substring(offset, end)); } } return(setStr); } document.write(getCookie('JSON')); в итоге на данный момент вместо красивого массивчика имеем : [{"name":"Greg","count":"12","delivery":"Courier+service","payment":"Online+by+card+Visa\/Mastercard"},{"name":"Greg","count":"12","delivery":"Courier+service","payment":"Online+by+card+Visa\/Mastercard"}] PHP, JavaScript, SQL и другой код пишите внутри тегов Код ( (Unknown Language)): [b]php][/b]Тут код[b][/[/b][b]code][/b][/color]
Re: Как корректно достать ассоциавн. массив с помощью JS из А чем вам не нравится красивый массивчик, что вы красным привели? В JS ассоциативных массивов нет, как таковых, они там объекты по сути. JS такой JS
Re: Как корректно достать ассоциавн. массив с помощью JS из всё ок. джейсон это строка определенного формата. чтоб это стало объектом - надо декодировать.
Re: Как корректно достать ассоциавн. массив с помощью JS из Просто мне нужно вот эти 4 значения из массива полученного записать в таблицу, ну и в ячейке "Имя" надпись типа "name":"Greg" будет не комельфо, как можно отфильтровать или почистить от лишных символов?
Re: Как корректно достать ассоциавн. массив с помощью JS из ну так декодируй и делай дальше что хочешь
Re: Как корректно достать ассоциавн. массив с помощью JS из в php декодировать или в js? Добавлено спустя 2 минуты 32 секунды: Re: Как корректно достать ассоциавн. массив с помощью JS из КУКА document.write(JSON.parse(getCookie('JSON'))); === [object Object],[object Object],[object Object] 0_o document.write(JSON.stringify(getCookie('JSON'))); === \"|:"[{\"name\":\"Greg\",\"count\":\"12\",\"delivery\":\"Courier+service\",\"payment\":\"Online+by+card+Visa\\/Mastercard\"},{\"name\":\"Greg\",\"count\":\"12\",\"delivery\":\"By+Mail\",\"payment\":\"Online+by+card+Visa\\/Mastercard\"}]"
Re: Как корректно достать ассоциавн. массив с помощью JS из уууууу................................. перечитай название топика, дундук. о каком япе ты там упомянул? или ты списал у соседа?
Re: Как корректно достать ассоциавн. массив с помощью JS из Ты по умничать заходишь сюда?) Можно адекватно помочь?
Re: Как корректно достать ассоциавн. массив с помощью JS из ну умничать я сюда захожу или нет - дело второстепенное. но задавать вопрос имея названием темы это (ну так чтоб тебя не оскорбить) затуп. но вернемся к декодированию. я взял твою строку, вставил её в консоль, обернул странной конструкцией декодирования (которая у тебя примерно в таком же виде и есть) и получил ожидаемый результат. ты видимо что-то не то ждешь но делаешь-то правильно так что не потерян ты для общества
Re: Как корректно достать ассоциавн. массив с помощью JS из в console.log и вправду можно увидеть object который является массивом как его вывести? через for и for in я добиваюсь получить только номер объекта(массива) 0,1,2 итд
Ничего не пойму!!!!!!!!!! php пофиксил Код (PHP): <?php if(isset($_COOKIE['orders'])){ $orders= unserialize($_COOKIE['orders']); #$orders= unserialize($_COOKIE['orders']); $json=json_encode($orders); setcookie('JSON',$json) ; } else { $orders=array(); } if (isset($_POST['name']) && isset($_POST['count']) && isset($_POST['delivery']) && isset($_POST['payment'])) { $name = $_POST['name']; $count = $_POST['count']; $delivery = $_POST['delivery']; $payment = $_POST['payment']; $orders_new = array(); $orders_new['name'] = $name; $orders_new['count'] = $count; $orders_new['delivery'] = $delivery; $orders_new['payment'] = $payment; array_push($orders,$orders_new); } #var_dump($orders); if( setcookie('orders', serialize($orders)) ){ #echo 'cookies is set'; } else { echo 'Doh'; } ?> вот адекватный js Код (PHP): function getCookie(name) { var cookie = " " + document.cookie; var search = " " + name + "="; var setStr = null; var offset = 0; var end = 0; if (cookie.length > 0) { offset = cookie.indexOf(search); if (offset != -1) { offset += search.length; end = cookie.indexOf(";", offset) if (end == -1) { end = cookie.length; } setStr = unescape(cookie.substring(offset, end)); } } return(setStr); } var arr = JSON.parse(getCookie('JSON')); Код (PHP): for(var i in arr){ for(var j in arr[i] ){ document.write(j); } } выводит ключи! Код (PHP): for(var i in arr){ for(var j in arr[i] ){ for(var g in arr[j]){ document.write(g); } } } Ничего не выводит! Пожалуйста напишите как сделать чтобы это заработало! PHP, JavaScript, SQL и другой код пишите внутри тегов Код ( (Unknown Language)): [b]php][/b]Тут код[b][/[/b][b]code][/b][/color]
Re: Как корректно достать ассоциавн. массив с помощью JS из для начала - перестать позориться и открыть уже мануал по языку джаваскрипт коих в интернетах можно легко найти не одну штуку. или задать тупейший запрос поисковой системе. тут настолько всё просто что реально позорно тебе пальцем в небо тыкак и ждать какого-то результата. почитай, сделай, радуйся тому что узнал что-то новое.
Re: Как корректно достать ассоциавн. массив с помощью JS из не поверишь, уже запросов 15 задал, ну не могу найти ничего, и по мануалам тоже шастал. пи*дец, нужели сложно просто указать на ошибку а не е*ать мозги!...
а, прости, есть собственно что е6ать-то? )))) я пока не очень заметил. когда ты в джаваскрипте делаешь фор(вар и ин эррэй) ты итерируешь массив по ключам и чтоб обратиться к значению массива по этому ключу... ты себе не представляешь даже!!! надо использовать синтаксис квадратных скобок итак, следи за руками: for(var i in arr){ -- тут ты итериуешься по массиву арр. я помню что это у нас массив объектов значит ты всё правильно делаешь. for(var j in arr ){ -- тут ты итериуешь объект расположенный в массиве арр по ключу и. как ты до этого додумался если ты - аутист? document.write(j); // тут ты показываешь значение ключа текущей итерации по объекту расположенному в ключе и массива арр. что мешает сделать document.write(arr[j]) и увидеть что за значение соответствует этому ключу??????????????????????????????????????????????????????????????????????????????????????????? какой пустотой заполняющей твою черепную коробку ты начинаешь делать for(var g in arr[j]) ???????????? как ты можешь искать ключ джей в массиве арр если он у тебя связан с итерацией совершенно другого объекта?????? ну ты реально тупой наверное да? не потому что я тебя оскорбить хочу а потому что ты банальнейшие операции не можешь выполнить уже несколько дней. дебуг: Код (PHP): arr = JSON.parse('[{"name":"Greg","count":"12","delivery":"Courier+service","payment":"Online+by+card+Visa\/Mastercard"},{"name":"Greg","count":"12","delivery":"Courier+service","payment":"Online+by+card+Visa\/Mastercard"}]') Код (Text): [Object, Object] Код (PHP): for(var i in arr){ for(var j in arr[i] ){ console.log(i, j, arr[i][j]) }} Код (Text): 0 name Greg 0 count 12 0 delivery Courier+service 0 payment Online+by+card+Visa/Mastercard 1 name Greg 1 count 12 1 delivery Courier+service 1 payment Online+by+card+Visa/Mastercard тебе очень надо научиться работать головой не только для того чтоб в неё есть. без этого ты в программировании ничего не добьешься. если такая простая задача вызвала у тебя многодневное изнасилование себя и упрёки что тебе кто-то мозг хочет вые6ать то я боюсь себе представить что с тобой будет когда задачи будут чутка сложнее... в петлю полезешь? удачки.
Re: Как корректно достать ассоциавн. массив с помощью JS из Oh My Globe!!! И вправду, вот жешь.... Ах вот ты к чему вёл)) Прежде чем нормаль помочь и указать где косяк, нужно показать своё превосходство, какой ты гуру и опустить кого-нибудь... А про "аутиста" было даже немного смешно +1) Ну спасибо тебе на этом, большое спасибо!) Не будь таким зазнайкой, и проявляй хоть малейшую снисходительность к новичкам, мир!)