PHPize Online / SQLize Online  /  SQLtest Online

A A A
Share      Blog   Popular
Copy Format Clear
Copy Clear
Copy Format Clear
<?php // Исходные массивы $values = [20085, 20101]; $data = [ [ 'VALUE_ID' => 864346, 'UF_CRM_1653900358051' => 'a:3:{i:0;s:5:"66709";i:1;s:5:"66711";i:2;s:5:"20085";}' ], [ 'VALUE_ID' => 864409, 'UF_CRM_1653900358051' => 'a:1:{i:0;s:5:"20085";}' ], [ 'VALUE_ID' => 863850, 'UF_CRM_1653900358051' => 'a:3:{i:0;s:5:"66705";i:1;s:5:"66709";i:2;s:5:"20101";}' ], [ 'VALUE_ID' => 864432, 'UF_CRM_1653900358051' => 'a:2:{i:0;s:5:"66709";i:1;s:5:"20101";}' ] ]; // Преобразуем значения в ассоциативный массив для быстрого доступа $valueMap = array_combine($values, $values); // Проходим по данным и обновляем значения foreach ($data as &$item) { // Разбираем строку с сериализованным массивом $serializedArray = unserialize($item['UF_CRM_1653900358051']); // Проверяем каждое значение и обновляем, если находим соответствие foreach ($serializedArray as &$value) { if (isset($valueMap[$value])) { $value = $valueMap[$value]; } } // Сериализуем массив обратно в строку $item['UF_CRM_1653900358051'] = serialize($serializedArray); } // Выводим обновленные данные print_r($data);
Show:  
Copy Clear