【问题标题】:Php compute stringphp计算字符串
【发布时间】:2017-06-10 13:43:28
【问题描述】:

我想在我的网站上做一些计算。为此,我将表格保存在我的数据库中。数据库是这样的:

FirstValue |   Operator  | SecondValue
------------------------------------
   20      |      +      |   10
   20      |      -      |   10
   10      |      *      |   10
   10      |      /      |   10

现在我想像这样在 php 上打印结果:

for($i=0;$i<count($array);$i++)
    echo $array['FirstValue'][$i].$array['Operator'][$i].$array['SecondValue'][$i];

但我只得到包含表单的字符串。

【问题讨论】:

标签: php


【解决方案1】:

你执行它的方式不会计算。您必须使用 switch case 或 if-else 语法进行计算。这是一个使用 if-else 的实现。

function calculate($a,$b,$c)
{
  if($c=='+')
     return $a+$b;
  else if($c=='-')
     return $a-$b;
  else if($c=='*')
     return $a*$b;
  else if($c=='/')
      return $a/$b;

  return 0;

}
$array['FirstValue'] = array(20,20,10,10);
$array['Operator'] = array('+','-','*','/');
$array['SecondValue'] = array(10,10,10,10);

for($i=0;$i<count($array['FirstValue']);$i++)
  echo calculate($array['FirstValue'][$i],$array['SecondValue'][$i],$array['Operator'][$i])."<br />";

BTW count($array) 将为您的阵列设计提供 3,而不是 4。并且您在表中的 SecondValue 和 Operator 列名也需要更改。

【讨论】:

  • 您好,感谢您的回答。我也是这样想的,但在我看来它不是很干净。例如,如果我在 10000*100 矩阵上做类似的事情,就会有很多比较。你怎么看?
  • 我不这么认为。您的矩阵中可能有很多数据,但运算符的数量非常少。总是会有 + 或 - 或 * 或 /。所以你不需要很多比较
  • 是的,运营商的数量确实更少。我会尝试并分享结果。无论如何感谢您的帮助
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-09-14
  • 2023-04-06
  • 2023-03-28
  • 1970-01-01
相关资源
最近更新 更多