2

这看起来很简单,但我无法在任何地方找到解决方案。

我想要做的是将变量的内容(r 值)添加到关联数组而不是对变量的引用

例如,我想要这个:

$myStr1 = "sometext";
$myStr2 = "someothertext";

$myArray = array(
    "key1"=>$myStr1,
    "key2"=>$myStr2
);

echo($myArray["key1"]);

要产生这个:

"sometext"

而不是这个:

"1"        // why??

任何帮助,将不胜感激。

编辑:

以上作品;我的错。这是真正的问题——我的$myStr1变量不只是像上面那样分配字符串文字;它是使用以下语法创建的:

$myStr1 = "sometext" + anObject->intProperty + "moretext";

基本上我使用 将+各种类型连接成一个字符串。也许+不是在做我认为它在做的事情?

编辑:

肯定是+运营商。我将所有非字符串转换为字符串并用于.连接。

4

2 回答 2

1

你第一次就对了。 试试这个:

$myStr1 = "sometext";
$myStr2 = "someothertext";

$myArray = array(
    "key1"=>$myStr1,
    "key2"=>$myStr2
);

unset($myStr1);

echo($myArray["key1"]);

即使我们unset()$myStr1变量,它仍然回显sometext

需要注意的是,虽然可以$myStr1 通过引用设置,但它不是默认设置。

于 2012-07-19T02:12:50.070 回答
0

试试你的代码,它的结果是:

sometext
于 2012-07-19T02:09:55.763 回答