function ReverseStringWithoutTemporaryVariable($str) {
$start = 0;
$end = strlen($str) - 1;
$array = str_split($str);
while ($start < $end) {
$array[$start] ^= $array[$end]; // XOR used to swap two variables
$array[$end] ^= $array[$start];
$array[$start] ^= $array[$end];
$end--;
$start++;
}
return implode("", $array);
}
$str = "c++ php java c";
$str = ReverseStringWithoutTemporaryVariable($str);
echo $str;
/*
run:
c avaj php ++c
*/