public static function simplifyElements(array &$elements) { $key_indexes = array(); foreach ($elements as $index => $element) { $key_indexes[$element['key']][] = $index; } foreach ($elements as $index => $element) { if (!is_numeric($index) || !is_array($element) || !isset($element['key'])) { continue; } if (count($key_indexes[$element['key']]) > 1) { continue; } if (!empty($element['attributes'])) { continue; } // Replace it in the array. $elements = ArrayHelper::spliceAssociativeValues($elements, array($element['key'] => $element['value']), $index); unset($elements[$index]); } }