Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/295.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
php-需要echo对变量求值两次。从mySQL数据库中获取变量名,然后解析该变量_Php_Mysql - Fatal编程技术网

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天哪,这让变量变得更可怕了