您好我一直在tryng使用PHP開發的RPN計算器在程序中數字1出現從哪兒冒出來進入我的array.I某些時候已經檢查程序3與調試時間,我不它是從哪裏來的from.Here明白的是我的代碼:一個整數被添加到一個數組中沒有我將它添加
if(isset($_GET["send"])){
$v0 = $_GET["val0"];
$a = explode(" ", $v0);
$second_array = array();
function operatii($v , $second_array){
$var1 = array_pop($second_array);
$var2 = array_pop($second_array);
$rez = null;
switch ($v){
case '+':
$rez = $var1 + $var2;
break;
case '-':
$rez = $var2 - $var1;
break;
case '*':
$rez = $var1 * $var2;
break;
case '/':
$rez = $var2/$var1;
break;
}
array_push($second_array, $rez);
print_r($second_array);
echo '<br/>';
}
for($i = 0; $i < count($a); $i++){
if($a[$i] === "+" || $a[$i] === "-" || $a[$i] === "*" || $a[$i] === "/"){
operatii($a[$i] , $second_array);
continue;
}else{
array_push($second_array, $a[$i]);
}
}
}
?>
<form method="get" action="">
<input type="text" value="<?php ?>" name="val1" disabled/>
<input type="text" value="" name="val0" />
<input type="submit" value="Introdu" name="send"/>
</form>
長話短說這種形式將採取expressiong這樣5月1日至5日+,做此操作5 - 1 +5。
for循環運行兩次和operatii()方法運行它的序列,在$蘇亞雷斯變量獲取的推法結束後出現的問題進入$ second_array。在此之後該方法結束的和beetween的operatii方法和下一個循環週期1 GET的加入$ second_array的開始。
正如我前面提到的,我運行調試器3次,我無法找到任何合理的解釋,爲什麼和從哪裏1被添加到數組中。任何人都可以告訴發生了什麼,我該如何糾正它?
你不應該被second_array傳遞作爲參考,istead作爲價值? –