> 백엔드 개발 > PHP 튜토리얼 > php 字符串怎么转换成if条件语句

php 字符串怎么转换成if条件语句

WBOY
풀어 주다: 2016-06-13 12:24:17
원래의
1370명이 탐색했습니다.

php 字符串如何转换成if条件语句
例如:$condition = "2 == 2 && 3 == 5";
            if ($condition) {
                echo 1;
            }
怎样把$condition 转换成if可识别的条件?直接这样判断会当成字符串常量,值为true
------解决思路----------------------

 if (eval("return $condition;")) {
로그인 후 복사


------解决思路----------------------
引用:
<br />        $condition = "2<=2 && 2>=1 && (snb === snb <br><font color='#FF8000'>------解决思路----------------------</font><br> snb === hfu)";<br />	if (eval("return $condition;")) {<br />		echo 1;<br />	}else {<br />		echo 2;<br />	}<br />	<br />	if (2<=2 && 2>=1 && ('snb' === 'snb' <br><font color='#FF8000'>------解决思路----------------------</font><br> 'snb' === 'hfu')) {<br />		echo 3;<br />	}
로그인 후 복사

呃 第一段的$condition和第二段if里面的内容是等价的吧 只是一个是字符串,一个是正常的if条件。
第二段运行没有问题的啊
第一段调用eval()会报一个常量未定义的错误,这里应该要转义?

你的本意是('snb' === 'snb'
------解决思路----------------------
'snb' === 'hfu') 但是 你却写成(snb === snb
------解决思路----------------------
snb === hfu) 连$符号都没有的变量,自然被理解成常量了,然而你并没有定义常量。
------解决思路----------------------
用变量转化一下,否则snb和hfu会被解释成常量。
$snb="snb";
$hfu="hfu";
$condition = '2<=2 && 2>=1 && ($snb === $snb
------解决思路----------------------
$snb === $hfu)';
if (eval("return $condition;")) {
echo 1;
}else {
echo 2;
}
로그인 후 복사

관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿