【问题标题】:Multiply Value in PHPPHP中的乘法值
【发布时间】:2016-04-04 14:22:07
【问题描述】:

我这里有这些 php...

用 HTML 编写的值是 $16.67

我不确定这是什么值类型,不确定是字符串还是整数。

无论如何,我需要将这个值增加3%

我试过了,但没有用:

<?php echo $row['display_price' * 1.03]; ?>

如果有人可以在这里帮助我,那就太好了。

【问题讨论】:

  • 美元符号是否也在$row['display_price'] 中?
  • 添加错误报告没有意义@C0dekid.php?
  • @C0dekid.php:这是因为在几乎所有 PHP 帖子中,用户只要查看错误消息就能发现问题。
  • Right Ralph! 等到他看到我在每个帖子上发布的 cmets @Fred-ii-

标签: php arrays integer price


【解决方案1】:

您正在尝试使用多个 display_price 字符串并将其用作数组键,您应该只增加变量所持有的值。

echo $row['display_price'] * 1.03;

如果变量也包含美元符号(不应该!)使用this 正则表达式来获取值并将其相乘。示例:

echo "$" . ( floatval( preg_replace( "/[^-0-9\.]/", "", $var ) ) * 1.03 );

【讨论】:

  • 如果$row['display_price'] 包含美元符号怎么办?我相信确实如此。
  • @Daan 将其替换为 str_replace() :)
  • @C0dekid.php 我不会选择str_replace()。无论如何应该在答案中。
  • @Daan 已添加回答。
  • 我们正在使用的值是一个字符串,并以 $ 美元符号开头。因此,这段 php 不知道如何将字符串相乘并返回 null 0 值。有人可以告诉我如何将此值转换为整数并删除 $ 符号,然后我们可以相乘。感谢所有帮助。
【解决方案2】:

您需要获取变量的浮点值。然后,你增加它。

$increasedValue = floatval($row['display_price']) * 1.03;
echo '$' . $increasedValue;

这将返回你想要的,以美元符号开头。

【讨论】:

  • 这行不通! floatval() 对于非数字最左边的字符返回 0!示例:ideone.com/6z4k5M
猜你喜欢
  • 1970-01-01
  • 2016-07-31
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-01-05
相关资源
最近更新 更多