PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (1): [1]   

> Без описания
dropoff
Отправлено: 14 Октября, 2020 - 13:19:13
Post Id



Посетитель


Покинул форум
Сообщений всего: 310
Дата рег-ции: Дек. 2010  


Помог: 0 раз(а)




Всем привет Улыбка
Что-то никак не могу понять, как проще всего сделать. Выходит как-то грубо

Есть массив который получаю
PHP:
скопировать код в буфер обмена
  1. (
  2.     [32] => 32
  3.     [33] => 33
  4.     [37] => Array('text' => 'свой текст')
  5. )



Есть массив который формируется движком
PHP:
скопировать код в буфер обмена
  1.     [1] => Array (
  2.                 [id] => 1
  3.                 [name] => Цвет
  4.                 [values] => Array (
  5.                         [1] => Array (
  6.                                 [p_id] => 1
  7.                                 [p_name] => Синий
  8.                                 [pv_id] => 32
  9.                         )
  10.                         [2] => Array (
  11.                                 [p_id] => 2
  12.                                 [p_name] => Красный
  13.                                 [pv_id] => 33
  14.                         )
  15.                 )
  16.         )
  17.     [2] => Array (
  18.                 [id] => 2
  19.                 [pod_name] => Вес
  20.                 [values] => Array (
  21.                         [4] => Array (
  22.                                 [p_id] => 4
  23.                                 [p_name] => 100
  24.                                 [pv_id] => 34
  25.                         )
  26.                         [5] => Array (
  27.                                 [p_id] => 5
  28.                                 [p_name] => 200
  29.                                 [pv_id] => 37
  30.                         )
  31.                 )
  32.         )
  33. )


В первом массиве ключи - это номер из второго массива значения pv_id

В результате мне нужно получить массив
PHP:
скопировать код в буфер обмена
  1.     [1] => Array (
  2.                 [id] => 1
  3.                 [name] => Цвет
  4.                 [values] => Array (
  5.                         [1] => Array (
  6.                                 [p_id] => 1
  7.                                 [p_name] => Синий
  8.                                 [pv_id] => 32
  9.                         )
  10.                         [2] => Array (
  11.                                 [p_id] => 2
  12.                                 [p_name] => Красный
  13.                                 [pv_id] => 33
  14.                         )
  15.                 )
  16.         )
  17.     [2] => Array (
  18.                 [id] => 2
  19.                 [pod_name] => Вес
  20.                 [values] => Array (
  21.                         [5] => Array (
  22.                                 [p_id] => 5
  23.                                 [p_name] => 200
  24.                                 [pv_id] => 37
  25.                                 [text] => свой текст
  26.                         )
  27.                 )
  28.         )
  29. )


То есть убрать все лишнее и оставить только выбранные значения. При этом, если есть text, то добавить текст соответствующему массиву.

Буду благодарен за помощь!
 
 Top
Vladimir Kheifets
Отправлено: 15 Октября, 2020 - 14:12:43
Post Id



Частый посетитель


Покинул форум
Сообщений всего: 559
Дата рег-ции: Март 2017  
Откуда: Германия, Бавария


Помог: 26 раз(а)




dropoff пишет:
Всем привет Улыбка
Что-то никак не могу понять, как проще всего сделать. Выходит как-то грубо

Есть массив который получаю
PHP:
скопировать код в буфер обмена
  1. (
  2.     [32] => 32
  3.     [33] => 33
  4.     [37] => Array('text' => 'свой текст')
  5. )



Есть массив который формируется движком
PHP:
скопировать код в буфер обмена
  1.     [1] => Array (
  2.                 [id] => 1
  3.                 [name] => Цвет
  4.                 [values] => Array (
  5.                         [1] => Array (
  6.                                 [p_id] => 1
  7.                                 [p_name] => Синий
  8.                                 [pv_id] => 32
  9.                         )
  10.                         [2] => Array (
  11.                                 [p_id] => 2
  12.                                 [p_name] => Красный
  13.                                 [pv_id] => 33
  14.                         )
  15.                 )
  16.         )
  17.     [2] => Array (
  18.                 [id] => 2
  19.                 [pod_name] => Вес
  20.                 [values] => Array (
  21.                         [4] => Array (
  22.                                 [p_id] => 4
  23.                                 [p_name] => 100
  24.                                 [pv_id] => 34
  25.                         )
  26.                         [5] => Array (
  27.                                 [p_id] => 5
  28.                                 [p_name] => 200
  29.                                 [pv_id] => 37
  30.                         )
  31.                 )
  32.         )
  33. )


В первом массиве ключи - это номер из второго массива значения pv_id

В результате мне нужно получить массив
PHP:
скопировать код в буфер обмена
  1.     [1] => Array (
  2.                 [id] => 1
  3.                 [name] => Цвет
  4.                 [values] => Array (
  5.                         [1] => Array (
  6.                                 [p_id] => 1
  7.                                 [p_name] => Синий
  8.                                 [pv_id] => 32
  9.                         )
  10.                         [2] => Array (
  11.                                 [p_id] => 2
  12.                                 [p_name] => Красный
  13.                                 [pv_id] => 33
  14.                         )
  15.                 )
  16.         )
  17.     [2] => Array (
  18.                 [id] => 2
  19.                 [pod_name] => Вес
  20.                 [values] => Array (
  21.                         [5] => Array (
  22.                                 [p_id] => 5
  23.                                 [p_name] => 200
  24.                                 [pv_id] => 37
  25.                                 [text] => свой текст
  26.                         )
  27.                 )
  28.         )
  29. )


То есть убрать все лишнее и оставить только выбранные значения. При этом, если есть text, то добавить текст соответствующему массиву.

Буду благодарен за помощь!

Добрый день!
Побробуйте сделать так:
Спойлер (Отобразить)
Удачи!

(Отредактировано автором: 15 Октября, 2020 - 14:15:54)

 
 Top
LIME
Отправлено: 15 Октября, 2020 - 18:54:28
Post Id



Активный участник


Покинул форум
Сообщений всего: 10708
Дата рег-ции: Нояб. 2010  


Помог: 322 раз(а)




Vladimir Kheifets почему preg_match вот мне очень интересно
прям удивил
почему не isset($arr1[$pv_id])
(Добавление)
обожаю портянки на 5 страниц скролить))
а ответа 3 строчки)))


-----
: DDD
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 1 (гостей: 1, зарегистрированных: 0)
« Хранение данных, их вывод и обработка »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB