在数组中创建var

时间:2012-03-08 14:55:40

标签: php arrays

你好,我有一些问题。 首先我要说我的英语不是那么好。对不起。

我的问题是:

在我的PHP脚本中有一些像

这样的Vars
var $_email = 'no';
var $_fname = 'no';
var $_lname = 'no';

如果用户访问我的页面,则vars将初始化。但现在我想启动vars autom。来自sql列数组......如:

$query = "SHOW COLUMNS FROM user";
$result = mysql_query($query);
while ($row = mysql_fetch_assoc($result)) {
   $column[] = $row["Field"];
}

foreach($column as $value)
{
var $value = 'no';
}

如果有人明白我的意思请帮助我..

2 个答案:

答案 0 :(得分:1)

您可以使用键/值方法。查询数据库时,请将值存储在关联数组中。

例如。如果你跑了:

SELECT email, fName, lName FROM ...

然后你将它们保存为:

someArray['email'] = $result['email'];
someArray['fName'] = $result['fName'];
someArray['lName'] = $result['lName'];

或类似的东西。

答案 1 :(得分:0)

我想你想要使用一种名为Variable variables的东西(听起来很奇怪,我知道)。

以下是一个例子:

$column = array('_email', '_fname', '_lname');

foreach($column as $value)
{
    $$value = 'no';
}

echo $_email . '<br>';
echo $_fname . '<br>';
echo $_lname . '<br>';

但请记住,我不建议这样做。使用associative arrays是一种更好的方法(ashes999的响应是正确的选择)。

以下是关联数组的相同示例:

$column = array('_email', '_fname', '_lname');

foreach($column as $value)
{
    $arrValues[$value] = 'no';
}

echo $arrValues['_email'] . '<br>';
echo $arrValues['_fname'] . '<br>';
echo $arrValues['_lname'] . '<br>';

一个变量($ arrValues) - 一切都在一个地方。

Arrays can be very powerful ,了解如何使用它们。 PHP拥有关联数组的奢侈品。

此外,在PHP中声明变量时,不需要关键字var。那就是其他语言,例如JavaScript。

我希望这会有所帮助。