2012-02-01 81 views
0

我是新來的PHP,所以請原諒我,如果這是一個愚蠢的問題。變量中使用的變量

如何在變量中包含變量?

我的意思是:

<?php 

    $variable_a = 'Adam'; 
    $variable_b = '$variable_a'; 

?> 

換句話說,第二個變量是相同的第一個。我不會打擾解釋爲什麼我需要這樣做(它會讓你感到困惑!),但我只想知道它是否可能,其次是如何去做,因爲我知道那裏的代碼沒有'工作。

乾杯,

亞當。

+0

最好不要用引號來編寫,但如果要使用引號,則使用雙引號而不是單引號。 – Narek 2012-02-01 10:17:29

+0

http://stackoverflow.com/questions/3446216/difference-between-single-quote-and-double-quote-string-in-php – Narek 2012-02-01 10:18:17

+0

不要忘記:[PHP變量](http://www.php.net /manual/en/language.variables.basics.php) – 2012-02-01 10:20:35

回答

2

如果你想要的變量是平等的,使用方法:

$variable_b = $variable_a; 

如果你想第二個變量包含第一,使用variable parsing

$variable_b = "my other variable is: $variable_a"; 

或串聯:

$variable_b = 'my other variable is: ' . $variable_a; 
+0

完美的感謝之人 – 2012-02-01 10:22:56

4

不要使用引號,它們表示一個字符串。只需指向變量直接,就像這樣:

$variable_b = $variable_a; 
+0

啊!所以你不包括報價。難怪它是以文本形式輸出。感謝隊友完美! – 2012-02-01 10:18:34

1

要麼沒有引號直接引用變量,因爲報價意味着它是一個字符串

$variable_b = $variable_a; 

或者你可以在雙引號ommit變量,如果你希望它出現在一個字符串中。

$variable_b = "My name is $variable_a"; 
2

PHP在產生基於另一個字符串變量的值時具有這種優勢。要做到這一點,像這樣寫代碼:

$b = "My name is $name."; 

下面的代碼無法正常工作:

$b = '$name'; 

等場合中,編碼這樣的作品有:

$b = <<<STRING 
    Hello, my name is $name... 
STRING; 

如果你想訪問陣列,請使用:

$b = "My ID is {$id['John Smith']}."; 

,當然,

$b = <<<STRING 
    Hello, my name is {$username}, my ID is {$id['John Smith']}. 
STRING; 

我建議使用{},因爲我經常使用中國的字符集,其中一次編碼像

$b = "我是$age了。"; 

將使PHP查找變量$時代了。和原因錯誤。