Если ваши шестнадцатеричные значения всегда будут строками, вы можете использовать следующую функцию:
function swapEndianness($hex) {
return implode('', array_reverse(str_split($hex, 2)));
}
Согласен, это не самый эффективный, но код, на мой взгляд, довольно элегантный. Кроме того, он работает со всеми размерами чисел.