PHP将特殊字符求值为实际值

PHP将特殊字符求值为实际值,php,csv,Php,Csv,我怀疑这是不允许的 我正在尝试根据用户选择筛选数据。 下面是根据用户输入动态更改代码的变量 有时变量$p具有 $p="$line[10]=='MICRO'"; 或 或 唯一的问题是,$p变量数据会根据用户的选择动态变化。 $line数组中的数字是csv文件的列号 它所做的是显示变量中的值列表,并且必须打印这些值 在if条件下 在这里,我使用CSV文件,在CSV文件中,我使用上述变量过滤particualr列 <?php $circle_sheet="DETAILS.csv"; $f =

我怀疑这是不允许的

我正在尝试根据用户选择筛选数据。

下面是根据用户输入动态更改代码的变量

有时变量$p具有

$p="$line[10]=='MICRO'";

唯一的问题是,$p变量数据会根据用户的选择动态变化。

$line数组中的数字是csv文件的列号

它所做的是显示变量中的值列表,并且必须打印这些值 在if条件下

在这里,我使用CSV文件,在CSV文件中,我使用上述变量过滤particualr列

<?php 
$circle_sheet="DETAILS.csv";
$f = fopen($circle_sheet, "r");
while (($line = fgetcsv($f)) !== false)
{
    $p=eval($p);
    if(${$p})
    {
        echo "<tr>";
        foreach($line as $cell)
        {   
            echo "<td style='color:white;'>" . htmlspecialchars($cell) . "</td>";
        }echo "</tr>\n";
    }
}
?>

如果我答对了问题,你可以做If(eval(“return”$p))。但是,不建议评估用户输入

像这样:

<?php 
$circle_sheet="DETAILS.csv";
$f = fopen($circle_sheet, "r");
while (($line = fgetcsv($f)) !== false)
{
    if(eval("return ".$p))
    {
        echo "<tr>";
        foreach($line as $cell)
        {   
            echo "<td style='color:white;'>" . htmlspecialchars($cell) . "</td>";
        }echo "</tr>\n";
    }
}
?>

你想用回音作为条件来测试什么?千万不要相信用户输入@MHakvoort,但输入选择是静态的…我在diff数组中设置了一个区分用户选择的条件…因此用户选择仅在一个变量中处理…@Quentin根据用户选择在if条件下进行回声…并在过滤后显示数据…csvfile@maheshCholleti-你在干什么实际上是在测试吗?你期望
echo$something
的真假告诉你什么?如何返回$p值。。。?如果条件满足…?eval(“return”。$p)如果条件不满足,则返回true。if(eval(“return”.$p))将在满足if$p的情况下执行if的内部。挑战是..如何在if条件块内部执行返回值..您能帮我编写代码吗…?哪个返回值?如果进入if,则$p的值为真。如果$p的计算结果为true,则执行if块中的代码。不..u r不明白我的意思…我想在if块中回显$p的值,以便根据$p的值过滤csv文件。。。
<?php 
$circle_sheet="DETAILS.csv";
$f = fopen($circle_sheet, "r");
while (($line = fgetcsv($f)) !== false)
{
    $p=eval($p);
    if(${$p})
    {
        echo "<tr>";
        foreach($line as $cell)
        {   
            echo "<td style='color:white;'>" . htmlspecialchars($cell) . "</td>";
        }echo "</tr>\n";
    }
}
?>
<?php 
$circle_sheet="DETAILS.csv";
$f = fopen($circle_sheet, "r");
while (($line = fgetcsv($f)) !== false)
{
    if(eval("return ".$p))
    {
        echo "<tr>";
        foreach($line as $cell)
        {   
            echo "<td style='color:white;'>" . htmlspecialchars($cell) . "</td>";
        }echo "</tr>\n";
    }
}
?>