基于双引号或单引号的不同行为

时间:2013-04-18 15:58:17

标签: php mysql

我对使用双引号和单引号有一点疑问。

当我使用双引号echo ""下面的代码时:

$result_entries = mysqli_query($con,"SELECT * FROM bhost_entries where author_u_id='$user_info[u_id]'");
while($entries = $result_entries->fetch_object())
  {
  echo "
  <tr>
   <td>
   {$entries->title}
   </td>
  </tr>
  ";
  }

..输出

Entry1
Entry2
Entry3
etc..

但是当我使用单引号echo ''的相同代码时,我会得到:

{$entries->title}
{$entries->title}
{$entries->title}
etc..

作为输出。

他们为什么表现不同?

欣赏任何想法。

2 个答案:

答案 0 :(得分:4)

这是因为它是单引号和双引号之间的主要区别。 double qoutes解析变量时,单引号不解析变量。

答案 1 :(得分:0)

如果您想使用单引号,则需要执行此操作:

  echo '
  <tr>
   <td>
   '.$entries->title.'
   </td>
  </tr>
  ';

如果你想使用双引号,你可以坚持使用原始语法!如前所述,双引号允许使用正确的语法解析php变量,而单引号字符串则不能。当你不得不在php字符串中转义单引号或双引号时,请记住这一点。

echo 'Arnold once said: "I\'ll be back"';

来自PHP Manual