php – 字符串表示之外的复杂(卷曲)语法的目的

我理解字符串中复杂(卷曲)语法的用法,但我不理解它在字符串之外的用途.

我刚在CakePHP中找到了这个代码,我无法理解:

// $class is a string containg a class name
${$class} =& new $class($settings);

如果有人能帮我理解为什么在这里使用,这和它有什么区别:

$class =& new $class($settings);

谢谢.

解决方法:

最简单的理解方法是通过示例:

class FooBar { }

// This is an ordinary string.
$nameOfClass = "FooBar";

// Make a variable called (in this case) "FooBar", which is the
// value of the variable $nameOfClass.
${$nameOfClass} = new $nameOfClass();

if(isset($FooBar))
    echo "A variable called FooBar exists and its class name is " . get_class($FooBar);
else
    echo "No variable called FooBar exists.";

使用${$something}或$$.在PHP中称为“变量变量”.

所以在这种情况下,创建了一个名为$FooBar的新变量,变量$nameOfClass仍然只是一个字符串.

相关文章

统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...
统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...
前言 之前做了微信登录,所以总结一下微信授权登录并获取用户...
FastAdmin是我第一个接触的后台管理系统框架。FastAdmin是一...
之前公司需要一个内部的通讯软件,就叫我做一个。通讯软件嘛...
统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...