3v4l.org

run code in 300+ PHP versions simultaneously
<?php $json = '[{ "name": "abc", "category": "new_cat", "selectedLanguage": { "de": "Deutsch", "de_status": "APPROVED" } }, { "name": "def", "category": "new_def", "selectedLanguage": { "es": "Espanol", "es_status": "APPROVED" } }, { "name": "abc", "category": "new_cat", "selectedLanguage": { "en": "English", "en_status": "APPROVED" } }]'; $result = []; foreach (json_decode($json, true) as $row) { $result[$row['name']] = !isset($result[$row['name']]) ? $row : array_replace_recursive($result[$row['name']], $row); } var_export(array_values($result));

preferences:
35.83 ms | 407 KiB | 5 Q