在我的数据库中,有一个表有一些像[string]
这样的值100/100
50/100
40/80
7/70
我需要在
中更改此值100%
50%
50%
10%
如何仅使用PHP / mysql代码执行此操作?
编辑:这是代码:
foreach ($html->find('div.stat') as $status_raw){
$status = $tag_pic_raw->src;
$status = mysql_real_escape_string($status);
$data->query("INSERT IGNORE INTO `tb` (`value`) VALUES ('".$status."')");
}
我使用DOM检查器从其他网站获取信息
答案 0 :(得分:3)
使用explode()
结合一些数学。
$str = '40/80';
$vals = explode('/', $str);
$percent = (($vals[0] / $vals[1]) * 100).'%';
echo $percent;
答案 1 :(得分:1)
使用explode()
来划分值,然后对它们进行数学运算。
foreach($array as $val) // assuming all the (##/##) values are in an array
{
$mathProblem = explode("/", $val);
echo (intval($mathProblem[0]) / intval($mathProblem[1]) * 100)."%<br />";
}
答案 2 :(得分:0)
使用explode()
:返回一个字符串数组,每个字符串都是字符串的子字符串,通过在字符串分隔符(在本例中为/
)形成的边界上将其拆分而形成。
$arr=array('80/100','50/100','40/80');
foreach($arr as $str){
$values = explode('/',$str);
echo ((int)$values[0]/(int)$values[1])*100.'%<br/>';
}
答案 3 :(得分:0)
您可以设置与此类似的功能:
function math($one)
{
$new = explode("/", $one);
$math = $new[0] / $new[1];
$answer = $math * 100;
return $answer."%";
}
然后,每当您需要查询某些内容时,您只需执行以下操作即可:
foreach ($results as $r)
{
echo math($r);
}
这使得它(我认为)更整洁,更容易阅读。