Php {$hello}、${hello}&$你好,什么时候用双引号?

Php {$hello}、${hello}&$你好,什么时候用双引号?,php,Php,我有点搞不懂 $hello = "hello"; echo "Say $hello"; echo "Say {$hello}"; echo "Say ${hello}"; 并且输出是相同的打招呼。我应该在什么时候使用{$hello}和${hello}?为什么不能在单引号中使用 $animal = 'cat'; echo "I have 14 $animals"; 这可能会导致问题,因此您将“逃避”它 或 在单一原因中,变量/表达式从未被替换 这可能会导致问题,因此您将“逃避”它 或 在单引号

我有点搞不懂

$hello = "hello";
echo "Say $hello";
echo "Say {$hello}";
echo "Say ${hello}";
并且输出是相同的
打招呼
。我应该在什么时候使用
{$hello}
${hello}
?为什么不能在单引号中使用

$animal = 'cat';
echo "I have 14 $animals";
这可能会导致问题,因此您将“逃避”它

在单一原因中,变量/表达式从未被替换

这可能会导致问题,因此您将“逃避”它


在单引号中,变量/表达式从未被替换。

单引号字符串永远不会在PHP中展开变量。见:


有关PHP中字符串格式的更多详细信息。总共有4个(包括PHP5.3中引入的nowdoc)。只有双引号和herdoc字符串格式会导致变量展开。

单引号字符串在PHP中永远不会展开变量。见:

有关PHP中字符串格式的更多详细信息。总共有4个(包括PHP5.3中引入的nowdoc)。只有双引号和heredoc字符串格式会导致变量展开。

根据, 这是一个简单的语法:

echo "Say ${hello}";
这是一种卷曲语法:

echo "Say {$hello}";
为什么两者的输出相同?因为在PHP中,您可以在任何地方使用变量。例如:

$var = 'somevar';
$bar = 'var';
echo $$bar; // "somevar", simple variable variable
echo ${$bar}; // "somevar", complex syntax
echo ${bar}; // "var", because {bar} treated as a string constant:
             // Notice: Use of undefined constant bar - assumed 'bar'
因此,使用变量语法
${hello}
只需根据, 这是一个简单的语法:

echo "Say ${hello}";
这是一种卷曲语法:

echo "Say {$hello}";
为什么两者的输出相同?因为在PHP中,您可以在任何地方使用变量。例如:

$var = 'somevar';
$bar = 'var';
echo $$bar; // "somevar", simple variable variable
echo ${$bar}; // "somevar", complex syntax
echo ${bar}; // "var", because {bar} treated as a string constant:
             // Notice: Use of undefined constant bar - assumed 'bar'

因此,使用变量语法
${hello}
简单地翻译成
$hello

有人走了。你读了吗?谢谢你,LinusKleen。现在我知道是卷发,有人走了。你读了吗?谢谢你,LinusKleen。现在我知道它是卷曲的