我一直在搜索,但还没有找到答案,我的问题是, 如何构建一些像这样工作的代码(在PHP中):
$a = "hello my worth is 488,39€ and less";
$b = "€";
$c = var;
if($a contains $b (plus the value of numbers that's infront of $b as $c))
delete $c from $a and SELECT * FROM table WHERE c LIKE $c AND c < $c;
希望有人能回答我的问题,多次使用regax&amp; str_replace函数,
编辑: 是的,该字符串可能包含的数字超过&#39; 488,39€&#39;,该字符串也可能包含1.5或-3等数字。
我的意思是$ b作为$ c: $ b只是欧元符号,没有任何数字,但我想要的是数字,只有一个单词中的#34;&#34;与欧元符号+欧元符号。并且该输出应声明为值$ c。
这样我就可以用&#34;€&#34;删除号码。来自我的字符串,稍后将其用于mysql。
顺便说一句:如果$ a有点像&#34;你好,我是1.4,我的价值是488,39€,我的颜色是-1&#34;应该只输出=&#34; 488,39€&#34;答案 0 :(得分:0)
我理解你的问题是如何提取描述“说话人”价值的货币的数值。
在这种情况下,$ a是'声明',$ b是货币符号,$ match是'值':
$a = "hello my 12 worth is 488,39€ and less";
$b = "€";
preg_match("/[0-9\.\,]+(?=$b)/u",$a,$matches);
if (count($matches) === 1)
echo "SELECT * FROM TABLE WHERE something < '$matches[0]'".PHP_EOL;
假设只能处理一个值。