我真的完成了这件事。我的问题如下:
代码:
<?php
$highest = 0;
$string = "a.1";
$array = explode(".",$string);
$highest = $array[1];
$final = "secound value is: ".$highest++;
echo $final;
?>
我想要的只是在$ string中添加一些内容。因此,它应该回应2.然而它回声1。
怎么了?
答案 0 :(得分:4)
答案 1 :(得分:1)
尝试以下代码
<?php
$highest = 0;
$string = "a.1";
$array = explode(".",$string);
$highest = $array[1];
$final = "secound value is: ". ++$highest;
echo $final;
?>
原因是,$highest++
是后增量。只有在使用后才会增加值。 ++$highest
预先增量会先增加值然后再使用
答案 2 :(得分:1)
你正在做一个后期增量。如果您进行预增量,结果将得到2。这是你想要的吗?
$final = "secound value is: ".++$highest;
答案 3 :(得分:1)
只是提出一个开箱即用的答案。你可以节省爆炸和你可能不需要的数组。
$highest = substr($str, 2) + 1;
答案 4 :(得分:0)
预增量和后增量之间存在差异。
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;
?>