${ } 在 PHP 语法中是什么意思?

2022-08-30 13:39:27

我已经使用PHP很长一段时间了,但我刚刚看到这样的东西,

${  } 

确切地说,我在PHP Mongo页面中看到了这个:

$m = new Mongo("mongodb://${username}:${password}@host");

那么,这有什么作用呢?使用 Google 或在 PHP 文档中搜索像 、 和 这样的字符是相当困难的。${ }${}


答案 1

${ }(美元符号大括号)称为简单语法

它提供了一种以最少的工作量在字符串中嵌入变量、数组值或对象属性的方法。

如果遇到美元符号 ($),解析器将贪婪地获取尽可能多的令牌来形成有效的变量名。将变量名称括在大括号中,以显式指定名称的结尾。

<?php
$juice = "apple";

echo "He drank some $juice juice.".PHP_EOL;
// Invalid. "s" is a valid character for a variable name, but the variable is $juice.
echo "He drank some juice made of $juices.";
// Valid. Explicitly specify the end of the variable name by enclosing it in braces:
echo "He drank some juice made of ${juice}s.";
?>

上面的示例将输出:

He drank some apple juice.
He drank some juice made of .
He drank some juice made of apples.

答案 2

它是一个嵌入式变量,因此它知道在哪里停止查找变量标识符的末尾。

${username}在字符串中表示字符串之外。这样,它就不认为是变量标识符。$username$u

它在您提供的URL等情况下很有用,因为这样它就不需要在标识符后面加空格。

请参阅有关它的 php.net 部分


推荐