Php 显示内部使用rand写入的数组

Php 显示内部使用rand写入的数组,php,Php,我有一个数组,例如: $var = array('hi','ho',rand(2,5)); 我想要回显的是整个数组,与所写的完全一样。 通常,当您尝试打印时,它显示为: Array ( [0] => hi [1] => ho [2] => 3 ) 但我想: Array ( [0] => hi [1] => ho [2] => rand(2,5) ) 您可以通过文件\u get\u contents获得这个值

我有一个数组,例如:

$var = array('hi','ho',rand(2,5));
我想要回显的是整个数组,与所写的完全一样。 通常,当您尝试打印时,它显示为:

Array (
    [0] => hi
    [1] => ho
    [2] => 3
)
但我想:

Array (
    [0] => hi
    [1] => ho
    [2] => rand(2,5)
)

您可以通过
文件\u get\u contents
获得这个值,但是在实际的PHP文件中有什么方法可以做到这一点吗?

我认为这是不可能的,因为在创建数组时,随机值被分配给索引为2的元素,您无法检查这个值是如何创建的。

我认为这是不可能的,因为一旦将数组设置为某个变量,rand就已经被计算了

一种解决方法是将表达式作为字符串保存,然后在需要时保存它。像这样:

$varStr = "array('hi','ho',rand(2,5))";
echo $varStr;

// when you actually need it
$var = eval($varStr);

然而,这几乎从来都不是一个好主意。在需要的地方提供一个用例可能有助于找到更好的解决方案。

我不这么认为。rand()函数总是被调用的,你只能从中得到有用的值,但也需要大量的重新编码,我不想这样做。我有大约10000行代码,格式如下:数组('string',rand(2,5),rand(2,5));字符串正在更改,上载到mysql数据库,然后作为数组返回给我,如:array('newstring',rand(2,5),rand(2,5));但兰德家族需要保持完整。所以我对如何在不重新编码的情况下完成它几乎一无所知。@user3286806无论如何,您必须在什么样的用例中需要这样的打印:无。所以无论你想做什么,都要以不同的方式去做。如果您需要rand()仍处于活动状态,以便为其提供某种其他程序,则必须将其保存在变量中。