嘿,我有一些简单的php / html:
<?php
if( $_POST["name"] || $_POST["age"] )
{
echo "Welcome ". $_POST['name']. "<br />";
echo "You are ". $_POST['age']. " years old.";
exit();
}
?>
<html>
<body>
<form action="<?php $_PHP_SELF ?>" method="POST">
Name: <input type="text" name="name" />
Age: <input type="text" name="age" />
<input type="submit" />
</form>
</body>
</html>
我不明白为什么在第二行我们使用双引号,即$_POST["name"]
但在echo语句中我们使用$ _POST ['name'],有人可以告诉我为什么这些不同?完全是PHP新手......
答案 0 :(得分:4)
你选择什么报价并不重要。有几个关于性能的讨论。实际上双引号会慢一点。但即使在100,000次迭代中,差异也很小。
唯一的区别是概念和逃避:
双引号:
$b = 1;
echo "Test ".$b; // outputs Test 1
echo "Test $b"; // also outputs Test 1
单引号:
$b = 2;
echo 'Test '.$b; // outputs Test 2
echo 'Test $b'; // outputs Test $b
双引号:
echo "\t";
// outputs actual tab letter
单引号
echo '\t';
// outputs \t as plain text.
答案 1 :(得分:1)
非常简单。 这是因为 echo 。 您可以看到,在打印字符串时,您可以使用echo'hello';或者回声“你好”; 这里的事实是你是否使用一个你不能在变量里面使用相同的内容,否则php解析它,因为它是字符串的结尾。
简单示例:
echo 'Hello'.$name.' how are you?';
echo "Hello".$name." how are you?";
Asociative array示例:
echo 'Hello'.$array["name"].' how are you?';
如果你试图放入数组['name'],你会发现php因为解析而出错。
希望它有所帮助!