例子:func();//Returnsainthiscase有没有什么方法可以不使用eval()来做到这一点? 最佳答案 当然你可以不用eval()。PHP会将包含类名的字符串或文字作为new运算符的参数。$duck=new$input;//parenthesesareoptionalecho$duck->func(); 关于没有Eval的PHP动态鸭子类型(ducktyping),我们在StackOverflow上找到一个类似的问题: https://sta
此代码返回“始终”,但我不想要它。我需要把这个变量带到别处。抱歉英语不好。编辑:PEOPLE!!!!!!!此示例代码。我知道在这种情况下不需要eval(),但我的其他项目中的代码将需要。我需要将eval()返回的内容输入到变量中。" 最佳答案 这是获取结果的简单方法:要获取eval()的返回值,您需要在评估的代码中返回一些内容,例如:$xs=eval("return'1'=='0'?'never':'always';");echo$xs;//echoes'always' 关于PHP如何将
我正在创建一个Web应用程序,我希望将对用户的所有响应存储在一个语言文件中以便于编辑。所以我使用eval()来管理动态消息,就像这样:$msg='Hello$user,yourfavoritecoloris$color';$colors=array("red","green","blue","yellow");$users=array("bob","craig","ted","dirtysanchez");foreach($usersas$key=>$user){$color=$colors[$key];eval("\$newmsg=\"$msg\";");echo$newmsg;}我
我有一个可能包含短代码的字符串,例如“这是一个带有[anyshortcode1]的字符串,这是[anyshortcode2]”。我想显示带有短代码的字符串,这些短代码在它们所在的位置运行。当我回显这个字符串时,它不执行短代码,它只是将它们打印出来,将它们留在括号中。我尝试使用如下代码解决此问题:$string_with_shortcodes="thisisastringwith[anyshortcode1]andthisis[anyshortcode2]";$pattern=get_shortcode_regex();preg_match_all("/$pattern/",$strin
在PHP中,您有create_function()函数,它创建一个唯一的命名lambda函数,如下所示:$myFunction=create_function('$foo','return$foo;');$myFunction('bar');//Returnsbar这实际上是不是更好(除了更容易)然后做:do{$myFunction='createdFunction_'.rand();}while(function_exists($myFunction));eval("function$myFunction(\$foo){return\$foo;}");$myFunction('bar
我正在尝试使用php的eval函数。但我一直在处理解析错误。比如考虑我是否有像1..或1++这样的边缘情况如果给我解析错误:语法错误,.....有人知道如何处理语法错误或如何绕过错误消息吗?我想给出更好的错误信息。是否可以将错误消息存储到变量中?TIA 最佳答案 来自manualAsofPHP7,ifthereisaparseerrorintheevaluatedcode,eval()throwsaParseErrorexception.BeforePHP7,inthiscaseeval()returnedFALSEandexecu
我在安装Magento的过程中处理了一大块非常讨厌的第三方代码,我在跟踪它的线程时遇到了一些麻烦。这是我看到的错误消息:PHPParseerror:syntaxerror,unexpected']'in/chroot/home/user/example.com/html/dev4/app/code/local/company/PluginName/Model/Module/License/Light/Performer/Reader.php(36):eval()'dcode(18):eval()'dcode(1302):eval()'dcodeonline1我已经在Reader.php
我有这样的字符串,$condition="if($test=='1')";我想在不使用eval()的情况下将其转换为条件表达式。这可能吗? 最佳答案 看看$functionName()或call_user_func($functionName)Moreclarification. 关于php-如何在PHP中将字符串转换为条件表达式?,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/
这个问题在这里已经有了答案:关闭11年前。PossibleDuplicate:PHPsandbox/sanitizecodepassedtocreate_function对于这个非常笼统的问题,我深表歉意,但我需要一些指导。执行用户提交的PHP代码的最理想方式是什么?想想PHP的JSFiddle。我知道有些网站可以这样做,例如http://writecodeonline.com/php/但我认为那是PHP4,并且无法使用我尝试在其上运行的一半代码。我也知道我可以简单地禁用所有“有风险”的功能,但是,这并不好玩:)我知道拥有一个我们可以在StackOverflow上引用的PHPFiddl
我有一个字符串,其中存储了一些必须执行才能产生结果的变量,例如:define('RUN_THIS','\$something.",".$somethingElse');然后eval()-uated:$foo=eval("return".RUN_THIS.";");我知道如果评估的字符串来自用户输入,则eval是不安全的。但是,例如,如果我想让不支持eval()的FacebookHipHop运行所有内容,我就不能这样做。显然我可以使用call_user_func()-这实际上与eval()的结果相同吗?如果确实如此,当eval()不安全时,如何认为是安全的?编辑:针对评论,我本来并没有说