php - 为什么根据语法在数组中不需要单引号

标签 php

我有点困惑。我想按如下方式访问数组。

$_POST['un'];

  $arr['empno'];

但是当我尝试使用双引号时,它给出了一个编译时错误,我尝试了以下操作:

 echo "welcome $_POST['un']";

在 un 中,我通过查询字符串保存了用户名,我认为这不属于这个问题..所以我写欢迎 我也试过了

    echo "$array['emp']";

它也给我一个错误。有什么问题?

最佳答案

当在 php 字符串中使用双引号时,您是在告诉 php 在打印字符串之前对其进行解释。
使用(关联)数组或方法时,您需要在值周围使用 {} 方括号才能使其正常工作。

简单的变体、索引数组等可以仅使用双引号进行解析,但在使用关联数组和方法时,您将需要大括号。

更多(更深入)信息在这里:Php docs (strings)

echo "Some text... $array['key']";   // Bad
echo "Some text... {$array['key']}"; // Good
echo "Calling $var (simple) and {$var} (complex) is basically the same.";

如果你想做“最便宜”的类型,双引号不是可行的方法,而是使用连接和单引号:

echo 'Some text... ' . $array['key'];

关于php - 为什么根据语法在数组中不需要单引号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28767555/

相关文章:

php - 是否可以跳过 PHP 代码?

php - 哪个数据库设计更好?

php - 查询列中的多个值

php - Jquery ajax返回当前页面的html作为响应

php - Symfony2.4表单 'This form should not contain extra fields'错误

php - Symfony 5 Mailer Recipient 多个地址不起作用

php - paypal IPN的ssl地址ssl是什么

php - Zend_Form 占位符翻译

php - Mysql查询从csv文件插入记录到mysql Db

PHP simpleXML如何检查嵌套子项是否存在