Форум программистов, компьютерный форум, киберфорум
PHP для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.78/18: Рейтинг темы: голосов - 18, средняя оценка - 4.78
1 / 1 / 2
Регистрация: 07.06.2013
Сообщений: 94

Обработать serialize данные, преобразовать в нужный вид

07.10.2014, 15:24. Показов 3447. Ответов 7
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Никак не могу разобраться как сделать чтобы данные после unserialize имели нужный мне формат
с помощью js serialize упаковываю значения селектов
получается строка вида:
PHP
1
string(51) "from=airport&to=address-to&b-type=standard&pay=card"
мне нужно чтобы от нее осталось только значения селектов
например: airport, address-to, standard, card"

Когда и как это лучше сделать?
изначально обработать js и передать нужное значение
или передать строку как есть а в обработчике формы сделать преобразование?

сейчас если делаю на ПХП unserialize - то выдает bool(false)
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
07.10.2014, 15:24
Ответы с готовыми решениями:

Прочитать данные из порта и преобразовать в читаемый вид
Помогите, пожалуйста, решить проблему. Уже второй день бьюсь, перегуглил все, но ответ так и не нашел. В общем ситуация такая: посылаю...

Прилетают данные UTF-8, как правильно преобразовать в читабельный вид?
Как преобразовать вот это: cout << buf<<endl; Выдает в UTF-8 кодировке: 01%3Aasd+%D0%92%D0%B0%D1%81%D0%B8%D0%BB%D0%B8%D0%B9 ...

Преобразовать собранные данные в графический вид в Excel'e (Performance Monitor)
Как можно сохраненный график: открыть в Excel'e и преобразовать в читаемый, графический вид? На данный момент у меня всё выглядит...

7
 Аватар для TGrey[WoLf]
42 / 42 / 4
Регистрация: 14.09.2008
Сообщений: 683
07.10.2014, 16:28
Serialize в js вообще не тоже самое, что serialize в php. Соответственно вы не сможете десерелизовать этот текст.

Варианта 2, вы передаете эти данные на сервер через _GET или _POST, а значит в скрипте у вас уже есть массив
PHP
1
2
3
4
5
6
$_GET\$_POST = array(
    'from' => 'airport',
    'to' => '...',
    'b-type' => '....',
    'pay' => '....'
)
можете просто обойти массив и вытянуть свои значения.
Второй вариант, вы можете строку разбить через регулярку функцией preg_match.
0
1 / 1 / 2
Регистрация: 07.06.2013
Сообщений: 94
07.10.2014, 17:50  [ТС]
упаковал не в строку, а JSON формат использовал
в итоге передает в таком виде
PHP
1
2
3
4
5
6
7
array(4) 
        {   [0]=> array(2) { ["name"]=> string(4) "from" ["value"]=> string(7) "address" } 
            [1]=> array(2) { ["name"]=> string(2) "to" ["value"]=> string(10) "address-to" } 
            [2]=> array(2) { ["name"]=> string(6) "b-type" ["value"]=> string(8) "standard" } 
            [3]=> array(2) { ["name"]=> string(3) "pay" ["value"]=> string(4) "cash" } 
            
            }
могу вывести пары ключ- значение с помощью цикла
PHP
1
2
3
4
5
6
7
$data = ($_POST['itog']);
foreach ($data as $value) {
    foreach ($value as $key) {
 
        echo "$key <br>";
    }
}
мне нужны только значения, без ключей, есть такая функция в ПХП?
0
 Аватар для TGrey[WoLf]
42 / 42 / 4
Регистрация: 14.09.2008
Сообщений: 683
07.10.2014, 18:12
тыц
0
1 / 1 / 2
Регистрация: 07.06.2013
Сообщений: 94
07.10.2014, 19:59  [ТС]
Спасибо, уже разобрался
сделал конечно коряво, но для моих потребностей пойдет
PHP
1
2
3
4
5
6
7
8
9
10
$data = ($_POST['itog']);
$fromArray = $data[0];
$toArray = $data[1];
$classArray = $data[2];
$payArray = $data[3];
 
$from = $fromArray[value];
$to = $toArray[value];
$class = $classArray[value];
$pay = $payArray[value];
0
 Аватар для TGrey[WoLf]
42 / 42 / 4
Регистрация: 14.09.2008
Сообщений: 683
08.10.2014, 11:35
Цитата Сообщение от alexmixaylov Посмотреть сообщение
$from = $fromArray[value]; $to = $toArray[value]; $class = $classArray[value]; $pay = $payArray[value];
что?)
0
1 / 1 / 2
Регистрация: 07.06.2013
Сообщений: 94
08.10.2014, 11:47  [ТС]
Цитата Сообщение от TGrey[WoLf] Посмотреть сообщение
что?)
После функции serializeArray() получается многомерный массив
Цитата Сообщение от alexmixaylov Посмотреть сообщение
array(4)
* * * * { * [0]=> array(2) { ["name"]=> string(4) "from" ["value"]=> string(7) "address" }
* * * * * * [1]=> array(2) { ["name"]=> string(2) "to" ["value"]=> string(10) "address-to" }
* * * * * * [2]=> array(2) { ["name"]=> string(6) "b-type" ["value"]=> string(8) "standard" }
* * * * * * [3]=> array(2) { ["name"]=> string(3) "pay" ["value"]=> string(4) "cash" }
}
посмотрел на него внимательней, и вначале разбил на одномерные массивы, а потом по ключу [value] вывел нужные данные
0
 Аватар для TGrey[WoLf]
42 / 42 / 4
Регистрация: 14.09.2008
Сообщений: 683
14.10.2014, 19:07
Посмотрите в чем разница
PHP
1
$array['value']
и
PHP
1
$array[value]
Чтобы потом ничего не отпало)
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
14.10.2014, 19:07
Помогаю со студенческими работами здесь

Serialize не верно формирует данные
Есть массив =&gt; array(42) { =&gt; string(31) &quot;Банковский ордер&quot; =&gt; string(2) &quot;20&quot; =&gt; string(10)...

Привести отчет в нужный вид
Здравствуйте, мне нужно привести отчет в нужный вид: счет учета вывести отдельным полем и убрать итоги долго мучался со счетом, пробовал...

при открытие выбирать нужный "вид"
где надо ставить галочку чтобы при открытие программы открылась не первая view которая идет по списку а другая, скажем последняя?

Как обработать ситуацию, если пользователь вводит не нужный пункт меню?
Вот мой код: using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace...

ValueError: Cannot serialize: <Publisher: Publisher object> There are some values Django cannot serialize into migration
Эта ошибка выводится при запуске команды makemigrations. Не понимаю, в чём причина. Вот мой класс Publisher: class...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru