합계구하고 싶습니다.
본문
wr_1에
3*3+9
이런식으로 입력되어 있습니다.
이거를 계산할 수 있나요?
$a = sum($write[wr_1]);
echo "$a";
이런식인가요??
wr_1필드의 모든 합계아니구요,,
답변 2
eval 함수 쓰면 되는데 입력값이 숫자와 연산자인지 유효성을 검사한 후 사용하시면 된다고 하네요. 보안에 취약하다고...
$test = "(7.2*6)-20";
function matheval($equation)
{
$equation = preg_replace("/[^0-9+\-.*\/()%]/","",$equation);
// fix percentage calcul when percentage value < 10
$equation = preg_replace("/([+-])([0-9]{1})(%)/","*(1\$1.0\$2)",$equation);
// calc percentage
$equation = preg_replace("/([+-])([0-9]+)(%)/","*(1\$1.\$2)",$equation);
// you could use str_replace on this next line
// if you really, really want to fine-tune this equation
$equation = preg_replace("/([0-9]+)(%)/",".\$1",$equation);
if ( $equation == "" )
{
$return = 0;
}
else
{
eval("\$return=" . $equation . ";" );
}
return $return;
}
$test1 = matheval($test);
echo $test1;
만약 php로 출력할 필요 없이 자바스크립트로 출력해도 무관하다면,
<script>
var a = <?php echo $view['wr_1']; ?>
alert(a);