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 に答える