我曾尝试使用搜索功能来解决我的用例,但我找不到像我这样的情况。请帮助我。
我目前正在开发一个网页,其中包含2个带有名称和数字的文本文件,这些文件位于不同的数组中。 为了便于解释,我们说:
$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;
虽然公式没有任何$符号来表示x和y作为变量,但我希望php能够自动分别为公式使用3和2表示x和y。
这种情况是否可能?我已经研究过matheval和eval,但是我不太确定它们是否可以用于我的情况。
感谢您的帮助。 :)
答案 0 :(得分:0)
您可以使用关联数组,例如:
$variables = array('x' => 3, 'y' => 2);
$data1 = $variables['x'] + 2;
$data2 = $variables['x'] + $variables['y'];
答案 1 :(得分:0)
$namesarray = array("x","y");
$valuesarray = array("3","2");
$data = array_combine(
$namesarray,
$valuesarray
);
extract($data);
将使用正确的值创建您的$x
和$y
变量;
尽管使用基本$data
数组及其x
和y
键可能更好,但如果这是用户输入的公式,使用eval()
肯定有风险