Перевернуть строку на PHP

Самая популярная задача на собеседованиях это переворот строки без использования функции srtrev. Решил добавить свои 5 копеек, какой я вижу эту задачу.

Первое решение на знание других встроенных функций (никто ведь не запрещал использовать их).

$s = "123abc";
preg_match_all('/./u', $s, $a);
echo implode('', array_reverse($a[0]));

Второе решение с использованием операции конкатенации выглядит еще проще.

$s = "123abc";
for ($i = strlen($s); $i >= 0; $i--) {
    $s .= $s[$i];
    $s[$i] = '';
}

И напоследок решение которым можно удивить своего работодателя, если он слабо понимает булеву алгебру.

$s = "123abc";
$a = -1;
$b = strlen($b);
while (++$a < --$b) {
    $s[$a] = $s[$a] ^ $s[$b];
    $s[$b] = $s[$a] ^ $s[$b];
    $s[$a] = $s[$a] ^ $s[$b];
}