我有一个.html文件,其中包含以下内容:
array('1', '786286', '45626');
这实际上就是它所包含的全部。
在我的代码中,我想评估一下然后打印出来:
$code = file_get_contents('array.html');
$nums = eval($code);
print_r($nums);
但是,它没有打印任何内容。
任何帮助将不胜感激。
首先,请不要使用eval()
。这是一种EVIL功能,应避免像瘟疫一样避免使用。
其次,它不起作用,因为您没有编写正确的PHP代码。您的eval在做什么,实际上就是拥有一个.php文件,该文件包含:
<?php
array(1,2,3)
没有分配,没有输出,也没有return
。只是有一个数组被“执行”,然后立即被销毁。
你应该有的是
<?php
$arr = array(1,2,3)
这样就保留了数组。这意味着您的评估应该更像:
$text = file_get_contents('...');
// option 1
eval("\$arr = $text");
^^^^^^^
print_r($arr);
// option 2
$foo = eval("return $text");
^^^^^^
print_r($foo);
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句