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);
Output for 8.1.34, 8.2.0 - 8.2.30, 8.3.0 - 8.3.30, 8.4.1 - 8.4.18, 8.5.0 - 8.5.3
Array ( [3] => Array ( [value] => Имя Фамилия [feedback] => Тестовый отзыв [city] => г. Москва ) )

preferences:
60.07 ms | 862 KiB | 4 Q