通常,人们会认为意外的T_STRING意味着缺少分号。但是,在这种情况下,分号从哪里丢失?我的意外T_STRING在哪里?
global $lay;
$yal = eval("return '$lay';");
echo $yal . "\n";
错误被抛出在EVAL,即
Parse error: syntax error, unexpected T_STRING in ... BOGARIP.php(140) : eval()'d code on line 1
与$躺着含
$reportDate\t$heads['Account']\t$id\t$heads['Time zone']\t$heads['Campaign']\t$heads['Ad group']\t$heads['Network']\t$heads['Network (with search partners)']\t\t$heads['Ad group state']\t$heads['Campaign state']\t$heads['Impressions']\t$heads['Clicks']\t$heads['CTR']\t$heads['Avg. CPC']\t$heads['Avg. CPM']\t$heads['Cost']\t$heads['Avg. position']
这是否意味着错误实际上是在$外行还是我失去了一些东西其他?这种级别的字符串替换甚至可能吗?
不要这样做!这是疯狂..你可以在所有重构你的代码不使用eval? – Evert 2012-04-28 01:30:26
你真的不应该这样做,但出于好奇,你可以将你的eval语句中的引号换成'eval('return'$ lay';');'看看它是否有效果? – Sampson 2012-04-28 01:31:23
@Jonathan Sampson:是的,那很好!谢谢。 – bugmagnet 2012-04-28 01:37:34