PHP是否可以将变量源代码打印为字符串?

PHP是否可以将变量源代码打印为字符串?,php,Php,我有一个像这样的简单变量 $arr=[ “aa”=>“aa”, “bb”=>“bb” ]; 现在,PHP附带了几个打印输出功能 打印 打印费用$arr; 结果: 大堆 [aa]=>aa [bb]=>bb 瓦鲁垃圾场 var_dump$arr; 结果: 阵列2{ [aa]=> string2 aa [bb]=> string2 bb } 我想要一个可以像这样打印原始源代码的函数: 打印出源代码$arr; 结果: $arr=[ “aa”=>“aa”, “bb”=>“bb” ]; 是否有任何功能可以实

我有一个像这样的简单变量

$arr=[ “aa”=>“aa”, “bb”=>“bb” ]; 现在,PHP附带了几个打印输出功能

打印 打印费用$arr; 结果:

大堆 [aa]=>aa [bb]=>bb 瓦鲁垃圾场 var_dump$arr; 结果:

阵列2{ [aa]=> string2 aa [bb]=> string2 bb } 我想要一个可以像这样打印原始源代码的函数:

打印出源代码$arr; 结果:

$arr=[ “aa”=>“aa”, “bb”=>“bb” ];
是否有任何功能可以实现这一点?

这应该适用于您所要求的精确还原阵列

尝试变量导出和评估:

$arr = [
  'aa' => 'aa',
  'bb' => 'bb'
];
$filename = 'arr_test.txt';
// save the export, evaluable code of the variable:
$bytes = file_put_contents($filename, var_export($arr, true));
print_r($arr);

// restoring the arr from saved "source code"
$arr = null;
eval('$arr = '.file_get_contents($filename).';');
print_r($arr);

据我所知,它不是内置的,但是您可以编写一个自定义函数,通过迭代数组来模拟它。您可能也想处理多维数组,但我认为最困难的部分是打印出变量的名称。虽然可能对你有用。我可以忽略变量名,只需要源代码。谢谢。对于任何人的更具体的回答,您需要更好地定义源代码。你关心空格/格式吗?评论?您想要用PHP编写的实际代码还是源代码的模拟?这是否需要以某种方式处理条件和其他逻辑,或者只处理变量或数组?我想您可以用PHP读取一个PHP文件并逐行迭代,直到找到所需的块,然后输出它?但是这里存在着巨大的安全隐患,因此您可能需要更好地解释为什么要这样做以获得更好的答案。同样,我认为您需要更好地定义有效的源代码。如果你有一行$foo='today is'。日期'Y-m-d';您称为print_out_source_code$foo;输出应该是什么?那么$bar=$foo;打印出源代码$bar;?我的意思是这需要更好的定义。。。对于字符串,您可以只回显$foo;以获得该输出。对于数组,您需要手动迭代它们以及多维功能。其他变量类型您需要弄清楚想要输出什么$foo=40+2;,等扩展您实际想要实现的内容以及为什么能够帮助您更接近答案。如果您想将内容存储到文件中,我认为序列化/非序列化比仅使用var_导出要好。@marco-a您是对的,或者仅使用json编码/解码,但我想通过示例将eval函数显示为他正在寻找的源代码函数。