3v4l.org

run code in 300+ PHP versions simultaneously
<?php //Пополнить справочник названиями полей. $fields=[4=>'value', 6=>'feedback', 11=>'city']; //Пополнить справочник значениями element_id с текстовыми значениями $text_fields = [6]; $src=[ [ 'entry_id' => 3, 'element_id' => 4, //Эта строка сериализована криво //'value' => 'a:2:{i:2;s:14:"Имя";i:4;s:18:"Фамилия";}' 'value' => 'a:2:{i:2;s:6:"Имя";i:4;s:14:"Фамилия";}' ], [ 'entry_id' => 3, 'element_id' => 6, 'value' => 'Тестовый отзыв' ], [ 'entry_id' => 3, 'element_id' => 11, 'value' => 'a:1:{i:2;s:16:"г. Москва";}' ], ]; $dst = []; foreach($src as $row){ $field = $fields[$row['element_id']]; if (in_array($row['element_id'], $text_fields)) { $dst[$row['entry_id']][$field] = $row['value']; } else { $dst[$row['entry_id']][$field] = implode(" ", unserialize($row['value'])); } } print_r($dst);

preferences:
22.49 ms | 407 KiB | 5 Q