2010-01-21 181 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'}的变量并设置它的值。不过,我不知道这将是多么明智。你不知道你会留下什么变数。