如何解决如果循环,则在内部回显
| 我有一个像这样的变量$string = \"0>0.1\";
我想在这样的if循环中求值
if($string)
{
///something
}
但是,如果我这样做,即时通讯会收到错误。如何去做
解决方法
您不了解评估或字符串的工作方式。
如果将任何内容放在字符串中,则不会对其进行评估,而仅从此刻起就包含该值。
$string = \"0>0.1\"; // contains \"0>0.1\"
$bool = 0>0.1; // contains TRUE
IF语句需要一个布尔值,而不是一个字符串。
,您可以使用eval
评估字符串中的值。请记住,eval
是邪恶的,其中可能包含任何php代码。
,您的重复副本给您一些可怕的建议。这里是一个更安全的评估变量,它将实际评估为结果:
$str = \"0>0.1\";
if (preg_replace(\'/^(\\d+\\.?\\d*)([><])(\\d+\\.?\\d*)$/e\',\"$1 $2 $3\",$str))
{
请注意,对于无效字符串(如\"1>2b\"
),它仍将返回true。为此,您将需要一个匹配项和一个单独的表达式求值。 (在这里编写一个人造的迷你解析器并不困难,但是显然对您的问题而言过于矫kill过正。)
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。