我有点困惑。我想按如下方式访问数组。
$_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/