2010-08-27 208 views
3

可能重複:
What's an actual use of variable variables?變量變量:什麼時候有用?

OK,這個問題可能看起來有點點whoreish,但我真的很想知道:當是可變的變量有用嗎?我已經用PHP編了好幾年了,但我從來沒有用過它們。對我來說,它看起來很有趣而不是有用的

什麼是變量變量的一些真實生活的例子?

更新:

我對你的票真的很抱歉。鏈接的「重複」可能真的是一個騙局,除了一件事情:這裏列出的例子顯示我爲什麼不使用變量。

+0

你看到在這篇文章的評論中使用:http://www.onlineaspect.com/2009/05/31/how-to-use-variable-variables-in-php/ – 2010-08-27 07:11:29

+0

看看這個話題http ://stackoverflow.com/questions/3555057/variable-variables – 2010-08-27 07:21:01

+2

@海恩,阿亞茲,這個問題不是如何使用它們。 – 2010-08-27 07:29:22

回答

7

從不。此功能應該禁止語言以及其他兒童疾病,如register globals,magic quotes等。

+0

我從來沒有遇到過一個問題,我發現這個有用。數組看起來總是比沒有很好理由的變量名稱更加簡單和有用。我應該認爲這個功能是這種語言的失敗嗎? – fabrik 2010-08-27 07:44:59

+0

最終使用變量變量是設計不佳的標誌。他們只是玩爽:) – alcuadrado 2010-08-27 09:25:58

+0

這將是我第一次downvoted上校Shrapnel職位。但我不同意「永不」這個詞 - 變量變量對模板系統很有用。 – 2011-06-17 18:59:39

0

這對於動態設置配置文件很有用。檢查PHP and Variable Variables更好的主意。

+0

第一個環節沒有什麼價值,第二個環節沒有價值。 – 2010-08-27 07:39:03

+0

我寧願使用.ini文件或數組。變量變量看起來不太複雜。 – fabrik 2010-08-27 07:46:29

+0

雅我同意你fabrik。 – ArK 2010-08-27 07:56:32

1

我已經看到它在一些MVC框架中用於初始化View對象中的變量。

foreach ($this->vars as $key => $value) 
{ 
    // some test would be here so there are no conflicts 
    $$key = $value; 
} 

然後,您可以訪問模板中的變量。

我不是說這是一個很好的使用,雖然。可能是一個糟糕的設計。

+0

http://php.net/extract – 2010-08-27 09:28:31

+0

提取只是稍微好一些。至少你可以輕易地阻止它覆蓋現有的變量。但既然你已經有一個關聯數組,你可以使用提取,你應該使用它。 – delnan 2010-08-27 09:48:50

+0

@delnan:這是我對變量變量的最大懷疑:爲什麼當我可以直接訪問(數組)元素時創建新的變量? – fabrik 2010-08-27 09:53:03

相關問題