我真的完成了这个。我的问题如下:
法典:
<?php
$highest = 0;
$string = "a.1";
$array = explode(".",$string);
$highest = $array[1];
$final = "secound value is: ".$highest++;
echo $final;
?>
我想要的只是在$string中的数字中添加一些东西。因此,它应该回显 2。但是它呼应 1。
怎么了?
使用预递增:
$final = "secound value is: ".++$highest;
详细信息:递增/递减运算符
尝试以下代码
<?php
$highest = 0;
$string = "a.1";
$array = explode(".",$string);
$highest = $array[1];
$final = "secound value is: ". ++$highest;
echo $final;
?>
原因是,$highest++
是后增量。它只会在使用后递增该值。++$highest
是预递增的,将首先递增该值,然后再使用它
您正在执行帖子增量。如果您进行预递增,您将获得 2 作为结果。这是你想要的吗?
$final = "secound value is: ".++$highest;
只是为了开箱即用地给出答案。您可以节省自己爆炸和您可能不需要/想要的数组。
$highest = substr($str, 2) + 1;
前递增和后递增之间存在差异。
pre-increment-(++$highest)
At first increase the value by one then executes the statement.
post-increment-($highest++)
At first executes the statement then increase the value by one.
所以在这种情况下,你必须使用预递增。然后行将在值递增后执行。
试试这个代码:
<?php
$highest = 0;
$string = "a.1";
$array = explode(".",$string);
$highest = $array[1];
$final = "secound value is: ".++$highest;
echo $final;
?>