2010-01-21 174 views
2

是否可以根據來自mysql數據庫的值在PHP中創建動態變量?從MySQL值創建變量變量

我的意思是,

說我有一個外地在MySQL State

當我讀使用數據庫row['State'] PHP中的值,如果我得到這樣Alabama的值,我想有一個變量創建爲$Alabama_count,我將初始化爲01

謝謝。

回答

1
$varname = $row['State'] . '_count'; 
$$varname = 0; // or 1 
3

確實存在一個更簡單的解決方案。您可以非常輕鬆地創建一個名爲$ Alabama_count的東西,而不是創建一個:$count['Alabama'],即$count[$row['State']]

+1

我從來沒有想過一個好的地方使用變量變量,其中關聯數組不會更好。雖然你確實需要說:$ count [$ row ['State']] (missing $ on row) – Johrn 2010-01-21 15:54:08

+0

@Johnr:是的,我同意。謝謝你的提示。我現在修好了。 – Aishwar 2010-01-21 15:58:09

0

聽起來像你想要使用變量變量,像這樣?

$var_name = "{$row['State']}_count"; 
$$var_name = 1; 
1

你可以做${$row['State']}如果$row['State']Alabama它一樣做$Alabama

同樣也可以做同樣的_count

${$row['State'] . '_count'} = 0; // $Alabama_count = 0; 
${$row['State'] . '_count'}++; // $Alabama_count++; // $Alabama_count = 1; 
0

您可以使用的使用$符號兩次變量,這個變量:例如:

$variable = 'Some_text'; 
$$name = 123; 
echo $Some_text; 
//this will output 123 
+0

感謝您的回覆。 – JPro 2010-01-21 16:01:36

0

你可以創建一個名爲$ {$ row ['State'] .'_ count'}的變量並設置它的值。不過,我不知道這將是多麼明智。你不知道你會留下什麼變數。