我想要反转打印字符串。我找到了这段代码,但是我无法理解for循环后立即两行的含义。
<?php
$s = 'abcdefg';
$j = 0;
for ($i = strlen($s) - 1; $i >= 0; $i--) {
$s .= $s[$i];
$s[$i] = NULL;
$j++;
}
echo "$s";
echo "<br/>";
echo "there are " . $j . " character in the string.";
?>
答案 0 :(得分:6)
只需使用strrev
<?php
echo strrev("abcdefg");
答案 1 :(得分:0)
$s .= $s[$i];
该行将生成反向字符串并将其与变量$s
连接。由于您要连接此变量$s
(已经有一些值abcdefg
,因此您需要从代码中删除变量中的每个字符,这些字符由代码中的以下行完成:
$s[$i] = NULL;
您可以通过删除此行并检查输出来检查此项。它将输出:
abcdefggfedcba
更简单的替代方法是使用strrev()函数
答案 2 :(得分:-1)
按照此代码
<?php
error_reporting(0);
$s = 'abcdefg';
$length = strlen($s);
$k=array();
for ($i = $length; $i>=0; $i--) {
$k .= $s[$i];
$k[$i] = NULL;
}
echo "$s";
echo "<br/>";
echo "there are <b>".$k."</b> character in the string.";
?>