微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

php – 使用字符串值作为/ else表达式

这可能是最愚蠢的问题,答案可能不是,但是……

是否可以在if语句的表达式中使用字符串的值?例如,说我通过了

'if strcasecmp("hello", "Hello") == 0'

函数调用它$string,然后我可以使用该值作为if语句的条件评估吗?

if (the value of $string) {}

我知道eval()将执行一个字符串,就像它是PHP代码一样,但实际执行它并返回null / false,而不是仅仅允许围绕字符串的PHP来处理字符串的内容.我也知道你可以使用${$varname}来使用变量变量,这将告诉PHP使用$varname的值作为变量的名称.

所以我想我正在寻找的有点像’变量代码’而不是’变量变量’.

解决方法:

我必须猜一下,也许你想从eval返回?

 if (eval('return strcasecmp("hello", "Hello") == 0;')) {}

此外,有闭合可能会增加一点流动性:

$if = function($string) {
    return eval(sprintf('return (%s);', $string));
}

$string = 'strcasecmp("hello", "Hello") == 0';
if ($if($string)) {
    ...
}

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐