PHP - 将字符串值添加到关联数组

时间:2012-07-19 02:05:21

标签: php arrays string variables associative-array

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

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

例如,我想要这个:

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

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

echo($myArray["key1"]);

产生这个:

"sometext"

而不是:

"1"        // why??

任何帮助都将不胜感激。

修改

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

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

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

修改

绝对是+运营商。我将所有非字符串转换为字符串,并使用.来连接。

2 个答案:

答案 0 :(得分:1)

你第一次弄错了。 Try this:

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

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

unset($myStr1);

echo($myArray["key1"]);

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

应该注意的是,尽管可以设置$myStr1 by reference,但这不是默认设置。

答案 1 :(得分:0)

尝试使用您的代码,结果如下:

sometext