gpt4 book ai didi

php - { } 在字符串中做什么?

转载 作者:可可西里 更新时间:2023-11-01 12:45:27 24 4
gpt4 key购买 nike

$name = "jason";
$p = "hello-{hello2}-$name-{$name}";
echo $p;

输出:

hello-{hello2}-jason-jason

遇到了一些准备好的语句的示例并注意到了这一点。如果它包含一个变量,它会删除它们,否则会保留它们。为什么在

echo "$name";

得到与

相同的结果
echo "{$name}";

还是仅仅是可读性?

最佳答案

它用作字符串中变量的分隔符。这在某些情况下是必要的,因为 PHP 的字符串解析器不是贪婪的,并且会错误解释许多常见的结构。

例如

$foo = array();
$foo['bar'] = array();
$foo['bar']['baz'] = 'qux';

echo "Hello $foo[bar][baz]";

会打印

Hello Array[baz]

因为它被解析为

echo "Hello ", $foo['bar'], "[baz]";
^ ^ ^
string array string

使用 {} 强制 PHP 将数组引用视为单个实体:

echo "Hello, {$foo['bar']['baz']}";  // prints "Hello, qux"

它也有助于区分模棱两可的东西

$foo = 'bar';

echo "$foos" // undefined variable 'foos'
echo "{$foo}s" // variable containing 'bar' + string 's'

关于php - { } 在字符串中做什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26124128/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com