php Отсортировать часть массива по образцу из другого массива -- функция

Используется ArrSort::reorderSegment(): https://github.com/it-for-free/rusphp

Исходный код:

    public static function reorderSegment($arr, $rightOrderedValues, 
        $handleOriginal = null, $handleOrderedValues = null, $addToStart = true)
    {
        $result = [];
        
        $orginalFiltredArray = array_map($handleOriginal, $arr);
        $filtredRightOrderedValues = 
            array_map($handleOrderedValues, $rightOrderedValues);
        
        $orderedPart = [];
        foreach ($filtredRightOrderedValues as $value) {
            if (in_array($value, $orginalFiltredArray)) {
               $currentKey = 
                    ArrElement::getFirstKeyForValue($orginalFiltredArray, $value);
               $orderedPart[$currentKey] = $arr[$currentKey];
               unset($arr[$currentKey]); // убираем из исходного массива, то что "отсортировано"
            }
        }
        
        if ($addToStart) {
            $result = ArrMerger::mergeSavingKeys($orderedPart, $arr);
        } else {
            $result = ArrMerger::mergeSavingKeys($arr, $orderedPart);
        }
        
        return $result; 
    } 

(пакет легко поставить композером).

Key Words for FKN + antitotal forum (CS VSU):