【问题标题】:Check for currency sign [closed]检查货币符号[关闭]
【发布时间】:2015-07-25 03:46:10
【问题描述】:

我在网上找到了很多复杂的函数和选项,以查看字符串是否以 X 开头,这一切都在哪里复杂或大我如何才能以最快的方式为这个伪代码做到这一点

if price != startswith $ or €
    echo "<td>Free</td>"
else 
    echo "<td>"Price"</td>"

我只想检查是否有美元或欧元符号作为第一个字符,如果没有回显,其他价格

【问题讨论】:

  • 检查美元/欧元符号的文本听起来像是一种检查价格的可怕方式。如果价格没有标志怎么办?这会神奇地让它免费吗?
  • if price从哪里来?
  • 让我们知道您已经尝试过什么,我们可以帮助您修复您的代码。它让我们在 stackoverflow 知道您对您的问题进行了一些研究。
  • 投票决定关闭,因为我们不知道您的“价格”来自哪里。

标签: php pseudocode


【解决方案1】:

你可以的

if($price[0]=="$" || $price[0]=="€")
   //not free, for whatever business logic

【讨论】:

  • 今天我不能再投票了,但如果我今天还能投票的话,我会给你一票。 (也许您还想补充一点说明您在这里所做的事情以及您可以使用/访问字符串,因为它是一个数组 (link))
  • @Rizier123 我不是 100% 愚蠢 ;) 但也许对于其他用户来说,如果他们发现这将是有用的,我认为他们两个都可以正常工作。无论如何,谢谢!
  • @OfficialJoe 也许不是每个阅读此答案的人都会知道您可以将字符串用作数组,因此对于那些用户来说这可能会很有趣:)
【解决方案2】:

一个选项是使用strripos() 来检查字符是否在字符串的位置0。

$price = '$2.00';

if(strripos($price, '$') === 0 || strripos($price, '€') === 0) {
    // do stuff 
} else {
   // do other stuff
}

你也可以用同样的方式使用strrpos()函数。

我使用这两个函数的原因之一是确保我只处理字符串中我正在寻找的位置的一项。如果最后一个美元符号的位置大于 0,则意味着我没有像预期的那样查看价格字符串。

【讨论】:

  • 谢谢,我还不能投票,但这是我要使用的遮阳篷。谢谢你的帮助!
  • @OfficialJoe 你可以简单地接受答案meta.stackexchange.com/questions/5234/… 并在这里做同样的事情;-)
  • 你应该使用===而不是==
  • 如果 $ 或 € 符号不在字符串中,则 strripos 的返回值将是 false 并且在 php 中 false == 0truefalse === 0 将是 false。您链接到的文档中有关于它的注释。
  • 很好@Gustek,我已经做出了改变。
猜你喜欢
  • 2019-12-28
  • 1970-01-01
  • 2019-12-27
  • 2019-02-23
  • 2021-07-05
  • 2010-10-17
  • 2017-06-22
  • 2017-06-13
  • 2012-08-12
相关资源
最近更新 更多