我有以下代码:
$var1 = 'Hello';
$var2 = $var1.' friend';
在if语句中,如果单击了submit,我想将var1更新为'嗨'所以我期待着你的朋友'作为输出。但它不起作用 - '你好朋友'仍然是输出。我想通过var2调用它。如何更新var1中的var1?
这是我的完整代码:
<?php
$var1 = 'Hello';
$var2 = $var1.' friend';
if(isset($_POST['submit'])) {
$var1 = 'Hi';
echo $var2;
} else{
echo '<form method="post" action="'. $_SERVER['PHP_SELF'] .'">
<input type="text" name="name"><br>
<input type="submit" name="submit" value="Submit Form"><br> </form>';
}
?>
答案 0 :(得分:2)
不,这不会起作用,你对事物的运作方式有一个错失概念。 $var2 = $var1.' friend';
会立即将值分配给?? $ var2 ??,而不是后来评估的公式或事物。因此,$var2
包含转让时$var1
保留的内容。
您要找的是功能:
<?php
function greetWithPhrase($phrase) {
return $phrase . ' friend';
}
$var1 = 'Hello';
if(isset($_POST['submit'])) {
$var1 = 'Hi';
echo greetWithPhrase($var1);
} else{
echo '<form method="post" action="'. $_SERVER['PHP_SELF'] .'">
<input type="text" name="name"><br>
<input type="submit" name="submit" value="Submit Form"><br> </form>';
}