<?php
$eqn1="0.068683000000003x1+2.046124y1+-0.4153z1=0.486977512";
preg_match("/\b[0-9]*\b/",$eqn1,$vx1);
echo "X1 is: $vx1[0]";
?>
Может кто-нибудь сказать мне, как хранить значение x1 (то есть 0.068683000000003) в переменной $ vx1?
Выход:
X1 is: 0
1) ставьте точку с запятой после каждого предложения;
2) используйте echo «X1 is:» $ vx1 [0]; вместо эха «X1 — это: $ vx1 [0]»;
<?php
$eqn1="0.068683000000003x1+2.046124y1+-0.4153z1=0.486977512";
preg_match("/\b[0-9]*\b/",$eqn1,$vx1);
echo "X1 is:" .$vx1[0];
Вы пропускаете точки с запятой после операторов, и оператор echo должен быть изменен:
<?php
$eqn1 = "0.068683000000003x1+2.046124y1+-0.4153z1=0.486977512";
preg_match("/\b[0-9]*\b/", $eqn1, $vx1);
echo "X1 is: " . $vx1[0];
Ваше регулярное выражение учитывает только целое число, ваше первое число является десятичным.
Вот способ выполнить работу, номер, который вы ищете, находится в группе 1:
$eqn1 = "0.068683000000003x1 + 2.046124y1 + -0.4153z1 = 0.486977512";
preg_match("/^(\d+\.\d+)/", $eqn1, $vx1);
echo "X1 is: ", $vx1[1], "\n";
Выход:
0.068683000000003