【发布时间】:2015-08-25 13:58:18
【问题描述】:
我怀疑这是不允许的
我正在尝试根据用户选择过滤数据..
这是代码根据用户输入动态变化的变量。
有时变量 $p 有
$p="$line[10]=='MICRO'";
或
$p="$line[10]=='MICRO' || $line[10]=='NO'";
或
$p="$line[10]=='MBTS' || $line[10]=='MICRO' || $line[10]=='NO' || $line[10]=='ODM' && $line[9]=='HUBSITE' || $line[10]=='NO'";
唯一的问题是 $p 变量数据会根据用户的选择而动态变化。
$line 数组中的数字是 csv 文件的列号。
它的作用是显示变量中的值列表,这些值必须打印出来 在if条件中
这里我使用的是 CSV 文件,在 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";
}
}
?>
上述while循环中if条件错误,$p变量数据必须在if Block中回显..
但我收到 解析错误:语法错误,意外的 T_ECHO
【问题讨论】:
-
你想通过使用 echo 作为条件来测试什么?
-
永远不要相信用户输入!
-
@MHakvoort 但输入选择是静态的...我已经在差异数组中设置了区分用户选择的条件...以便用户选择仅在一个变量中处理...
-
@Quentin 根据用户在 if 条件中的选择回显……过滤后显示数据……csv文件
-
@maheshCholleti — 你实际上在测试什么?你期待
echo $something的真假告诉你什么?