Php 如何将字符串运算转换为数字?

Php 如何将字符串运算转换为数字?,php,Php,我有一个字符串“1/2”,需要从中获取一个浮点值0.5 其他例子: 操作:$Operation='5/8'; 通缉价值:$value=0.625 编辑。 不优雅,因为使用了eval,但工作正常 $operation = '1/2'; function stringCalc($operation){ return eval('return '.$operation.';'); } $value = stringCalc($operation); 您可以使用eval,也请注意,您并不

我有一个字符串“1/2”,需要从中获取一个浮点值0.5

其他例子: 操作:$Operation='5/8'; 通缉价值:$value=0.625

编辑。 不优雅,因为使用了eval,但工作正常

$operation = '1/2';

function stringCalc($operation){

    return eval('return '.$operation.';');
}

$value = stringCalc($operation);
您可以使用eval,也请注意,您并不是在寻找整数,因为它们是整数

<?php

$operation = '1/2';

eval('$value = ' . $operation . ';');

echo $value;

?>

如果您只有一个/,这将起作用

$str = '2/5';
$newStr = explode('/', $str);
echo $newStr[0]/$newStr[1];

列出$x,$y=分解“/”,$operation$值=$x/$y;可能您正在寻找eval函数。@AndyLester Bad idea to use可能重复:像Bad idea to use这样的笼统语句对评估何时应该使用它们没有帮助。如果你想帮助OP,解释潜在的问题。邪恶不是一个好主意,因为当输入来自用户时,他可以执行他想要的每一个php代码@Rizier123我同意,但OP没有声明输入来自用户。但这始终是一个安全风险!当你不使用它的时候,你肯定它不会被用来做坏事。据我所知,没有多少地方是你真正需要使用的it@Rizier123它不是来自用户。我是从数据库中获取的。@IlliaPotapchuk是从数据库中获取的,您在其中插入了哪些数据?用户输入/数据?!很抱歉回答编辑,我的第二个解决方案。好的,现在我看到其他用户给了你同样的解决方案…顺便说一句。我发现像这样的问题很少。也许你找到了更好的答案。