手动反转字符串不起作用


Manually reverse string not working

我正在尝试在不使用strrev()的情况下反转字符串。我认为这将是一项简单的任务:

$str = 'I am a string';
$rev = '';
for($i = 0, $len = strlen($str), $j = $len -1; $i < $len; $i++, $j--) {
    $rev += $str[$j];
}
echo $rev;

结果是0。为什么会这样?

当我这样做时:

$str = 'I am a string';
$rev = '';
for($i = 0, $len = strlen($str), $j = $len -1; $i < $len; $i++, $j--) {
    echo $str[$j];
}

我得到:gnirts a ma I

为什么第二个数组返回期望的结果,而第一个数组返回错误的结果0

在php中,如果你想连接字符串,它是.运算符,所以你需要的不是+=,而是.=

您使用.进行串联,而不是仅用于添加的+

$rev .= $str[$j];