Я пытался использовать функцию поиска для решения моего варианта использования, но я не смог найти аналогичную ситуацию, как моя. Пожалуйста, помогите мне в этом.
В настоящее время я занимаюсь разработкой веб-страницы, которая читает из двух текстовых файлов с именами и цифрами внутри различные массивы.
Для простоты объяснения, скажем:
$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 автоматически использовал 3 и 2 для x и y соответственно для формулы, хотя в формуле нет знака $, обозначающего x и y как переменные.
Будет ли такая ситуация возможной? Я изучил matheval и eval, но я не слишком уверен, могут ли они быть использованы для моей ситуации.
Спасибо за любую помощь. 🙂
$namesarray = array("x","y");
$valuesarray = array("3","2");
$data = array_combine(
$namesarray,
$valuesarray
);
extract($data);
Создам свой $x
а также $y
переменные с правильными значениями;
Хотя используя основные $data
массив с его x
а также y
ключи, вероятно, лучше, и с помощью eval()
определенно рискованно, если это введенные пользователем формулы
Вы можете использовать ассоциативные массивы, например:
$variables = array('x' => 3, 'y' => 2);
$data1 = $variables['x'] + 2;
$data2 = $variables['x'] + $variables['y'];