是否可以根据来自mysql数据库的值在PHP中创建动态变量?从MySQL值创建变量变量
我的意思是,
说我有一个外地在MySQL State
当我读使用数据库row['State']
PHP中的值,如果我得到这样Alabama
的值,我想有一个变量创建为$Alabama_count
,我将初始化为0
或1
。
谢谢。
是否可以根据来自mysql数据库的值在PHP中创建动态变量?从MySQL值创建变量变量
我的意思是,
说我有一个外地在MySQL State
当我读使用数据库row['State']
PHP中的值,如果我得到这样Alabama
的值,我想有一个变量创建为$Alabama_count
,我将初始化为0
或1
。
谢谢。
$varname = $row['State'] . '_count';
$$varname = 0; // or 1
确实存在一个更简单的解决方案。您可以非常轻松地创建一个名为$ Alabama_count的东西,而不是创建一个:$count['Alabama']
,即$count[$row['State']]
。
听起来像你想要使用变量变量,像这样?
$var_name = "{$row['State']}_count";
$$var_name = 1;
你可以做${$row['State']}
如果$row['State']
是Alabama
它一样做$Alabama
。
同样也可以做同样的_count
:
${$row['State'] . '_count'} = 0; // $Alabama_count = 0;
${$row['State'] . '_count'}++; // $Alabama_count++; // $Alabama_count = 1;
您可以使用的使用$符号两次变量,这个变量:例如:
$variable = 'Some_text';
$$name = 123;
echo $Some_text;
//this will output 123
感谢您的回复。 – JPro 2010-01-21 16:01:36
不是真的知道这是什么你可以看看Variable variables的PHP手册
你可以创建一个名为$ {$ row ['State'] .'_ count'}的变量并设置它的值。不过,我不知道这将是多么明智。你不知道你会留下什么变数。
我从来没有想过一个好的地方使用变量变量,其中关联数组不会更好。虽然你确实需要说:$ count [$ row ['State']] (missing $ on row) – Johrn 2010-01-21 15:54:08
@Johnr:是的,我同意。谢谢你的提示。我现在修好了。 – Aishwar 2010-01-21 15:58:09