我曾尝试使用搜索函数来寻找用例的解决方案,但未能找到类似的情况。请帮我一下。
我目前正在开发一个网页,可以从两个文本文件中读取不同的数组中的名称和数字。为了便于解释,我们假设:
$namesarray = array("x","y");
$valuesarray = array("3","2");
我还有一个单独的数组,它包含从如下文本文件导入的公式:
$formulaname = array("data1","data2");
$formula = array("x+2","x+y");
因此,用数学术语来说,公式可以写成:
data1 = x+2
data2 = x+y
当我调用data2:时,我想做的是这样的计算
$data2 = $x + $y;
我希望php自动为公式的x和y分别使用3和2,尽管公式没有任何$符号来表示x和y作为变量。
这种情况可能发生吗?我研究过mathemeval和eval,但我不太确定它们是否适用于我的情况。
感谢您的帮助。:)
$namesarray = array("x","y");
$valuesarray = array("3","2");
$data = array_combine(
$namesarray,
$valuesarray
);
extract($data);
将创建具有正确值的$x
和$y
变量;
尽管使用带有x
和y
键的基本$data
数组可能更好,并且如果这是用户输入的公式,则使用eval()
肯定是有风险的。
您可以使用关联数组,例如:
$variables = array('x' => 3, 'y' => 2);
$data1 = $variables['x'] + 2;
$data2 = $variables['x'] + $variables['y'];