php-需要echo对变量求值两次。从mySQL数据库中获取变量名,然后解析该变量
我在一页上看到:php-需要echo对变量求值两次。从mySQL数据库中获取变量名,然后解析该变量,php,mysql,Php,Mysql,我在一页上看到: $cats=some_dynamic_data_value; $sql="SELECT `number` FROM `table`"; $result=mysql_query($sql); $value=mysql_fetch_array($result); echo $value; 在mySQL数据库中,我在一个单元格中存储了$cats,但在列number中的其他单元格中也存储了常规的旧数字,如1、2、3 当echo计算时,它只显示$cats,但我需
$cats=some_dynamic_data_value;
$sql="SELECT `number` FROM `table`";
$result=mysql_query($sql);
$value=mysql_fetch_array($result);
echo $value;
在mySQL数据库中,我在一个单元格中存储了$cats,但在列number
中的其他单元格中也存储了常规的旧数字,如1、2、3
当echo计算时,它只显示$cats,但我需要它显示当时定义的$cats
为什么回声不会再次评估$cats?我如何让它计算变量两次,但仍然计算正则数?(为什么双变量不起作用)
我希望变得更清楚了
我把它弄出来了。已使用评估功能。您需要使用
EVAL
进行此操作:
eval('echo "<td>" . ' . $value . ' . "</td>\n";');
eval('echo'.$value'.\n');
我建议您找到一种更好的方法,因为
eval
将执行任意的PHP语句,而不仅仅是展开变量。您需要使用eval
:
eval('echo "<td>" . ' . $value . ' . "</td>\n";');
eval('echo'.$value'.\n');
我建议您找到一种更好的方法来执行此操作,因为
eval
将执行任意PHP语句,而不仅仅是扩展变量。我不完全确定我是否理解您的意图,但您可以简单地执行以下操作:
$cats=some_dynamic_data_value;
foreach ($row as $field=>$value)
{
echo "<td>" $cats ." - " . $value . "</td>\n";
};
现在,如果要显示这些变量的值,可以从包含变量名称的$cats
变量中执行以下操作:
$cats="dog";
foreach ($row as $field=>$value)
{
echo "<td>" $$cats ." - " . $value . "</td>\n";
// $value assumed to be 1234 for output.
};
$cats=“dog”;
foreach($行作为$字段=>$值)
{
回显“$$cats.”-“$value.”\n;
//假设输出的$value为1234。
};
输出:
<td>Woof - 1234
Woof-1234
我不能完全确定我是否理解您的目的,但您可以简单地执行以下操作:
$cats=some_dynamic_data_value;
foreach ($row as $field=>$value)
{
echo "<td>" $cats ." - " . $value . "</td>\n";
};
现在,如果要显示这些变量的值,可以从包含变量名称的$cats
变量中执行以下操作:
$cats="dog";
foreach ($row as $field=>$value)
{
echo "<td>" $$cats ." - " . $value . "</td>\n";
// $value assumed to be 1234 for output.
};
$cats=“dog”;
foreach($行作为$字段=>$值)
{
回显“$$cats.”-“$value.”\n;
//假设输出的$value为1234。
};
输出:
<td>Woof - 1234
Woof-1234
这可能会奏效。尝试将数据库中的值从“$cat”更改为“cat”。然后您可以在符号链接中使用它:
$cats = "Hello from cats"; // somewhere a variable
$value = "cats"; // this value from database
echo $$value;
也许这将是一项工作。尝试将数据库中的值从“$cat”更改为“cat”。然后您可以在符号链接中使用它:
$cats = "Hello from cats"; // somewhere a variable
$value = "cats"; // this value from database
echo $$value;
除了分配的第一行之外,我看不到哪里实际使用了
$cats
。您可以包含您的实际代码吗?“我需要它显示当时定义的$cats是什么样子的”–以及f.e.?$cats存储在mySQL表的一个单元格中$值应评估为$cats,$cats应评估为先前定义的$cats$cats是一个动态计算的实时统计数据。@user2980927:这很好,但我看不出它在上面的代码示例中实际使用的位置。提供的所有答案都会完全按照您的要求执行,但您的场景中的某些内容总是会随答案而变化,这使得这变得非常复杂,听说过FUBAR这句话吗?我不知道除了第一行的分配之外,$cats
实际上在哪里使用。您可以包含您的实际代码吗?“我需要它显示当时定义的$cats是什么样子的”–以及f.e.?$cats存储在mySQL表的一个单元格中$值应评估为$cats,$cats应评估为先前定义的$cats$cats是一个动态计算的实时统计数据。@user2980927:这很好,但我看不出它在上面的代码示例中实际使用的位置。提供的所有答案都会完全按照您的要求执行,但您的场景中的某些内容总是会随答案而变化,这使得这变得非常复杂,听说过FUBAR?这句话吗?不起作用,因为表中并非所有的值都是变量。有些只是不需要解析的数字。所以在表格中,有时我会存储一个数字,有时我会存储$cats,在每一页上动态计算$cats。是的,我后来意识到了这一点。变量变量期望$value
只包含cats
,而不是$cats
@user2980927:此时,我强烈建议您找到一种不同的方法来解决您试图解决的任何问题。如果你开始使用eval和variable变量,你的手上就有一大堆乱七八糟的东西,你不会很高兴在6周内维护这些代码,更不用说6个月了。我明白你的意思,但这太危险了。基本上我需要一个更灵活的变量。看起来你在寻找一个模板系统或CMS。不起作用,因为表中不是所有的值都是变量。有些只是不需要解析的数字。所以在表格中,有时我会存储一个数字,有时我会存储$cats,在每一页上动态计算$cats。是的,我后来意识到了这一点。变量变量期望$value
只包含cats
,而不是$cats
@user2980927:此时,我强烈建议您找到一种不同的方法来解决您试图解决的任何问题。如果你开始使用eval和variable变量,你的手上就有一大堆乱七八糟的东西,你不会很高兴在6周内维护这些代码,更不用说6个月了。我明白你的意思,但这太危险了。基本上,我需要一个更灵活的变量。看起来你在寻找一个模板系统或CMS。这是行不通的。在他的例子中,赋值是$cats='$dog'
@Barmar天哪,这让变量变得比平时更可怕了——除非我写下它,当它当然是好的并且完全可读的时候:P我通常会删除答案,但在这种情况下,它可能对下一个访问者有用,尽管不是真正问这个问题的人。这行不通。在他的例子中,赋值是$cats='$dog'代码>@Barmar天哪,这让变量变得更可怕了