php 字符串如何转换成if条件语句
例如:$condition = "2 == 2 && 3 == 5";
if ($condition) {
echo 1;
}
怎样把$condition 转换成if可识别的条件?直接这样判断会当成字符串常量,值为true
回复讨论(解决方案)
if (eval("return $condition;")) {
$condition = "2<=2 && 2>=1 && (snb === snb || snb === hfu)"; if (eval("return $condition;")) { echo 1; }else { echo 2; }
eval() 可以解决纯数字的情况,字符串里有英文字母就会报错了,如果是上面的情况怎么办?
2<=2 && 2>=1 && (snb === snb || snb === hfu)
本身就不是合法的 php 条件表达式,不要说 eval,就是你直接写在 if 中都是要报错的
$condition = "2<=2 && 2>=1 && (snb === snb || snb === hfu)"; if (eval("return $condition;")) { echo 1; }else { echo 2; } if (2<=2 && 2>=1 && ('snb' === 'snb' || 'snb' === 'hfu')) { echo 3; }
呃 第一段的$condition和第二段if里面的内容是等价的吧 只是一个是字符串,一个是正常的if条件。
第二段运行没有问题的啊
第一段调用eval()会报一个常量未定义的错误,这里应该要转义?
$condition = "2<=2 && 2>=1 && (snb === snb || snb === hfu)"; if (eval("return $condition;")) { echo 1; }else { echo 2; } if (2<=2 && 2>=1 && ('snb' === 'snb' || 'snb' === 'hfu')) { echo 3; }
呃 第一段的$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; }
呃 已经解决了 谢谢大神们
呃 已经解决了 谢谢大神们
那把贴子结了吧。
Hot AI Tools

Undresser.AI Undress
AI-powered app for creating realistic nude photos

AI Clothes Remover
Online AI tool for removing clothes from photos.

Undress AI Tool
Undress images for free

Clothoff.io
AI clothes remover

Video Face Swap
Swap faces in any video effortlessly with our completely free AI face swap tool!

Hot Article

Hot Tools

Notepad++7.3.1
Easy-to-use and free code editor

SublimeText3 Chinese version
Chinese version, very easy to use

Zend Studio 13.0.1
Powerful PHP integrated development environment

Dreamweaver CS6
Visual web development tools

SublimeText3 Mac version
God-level code editing software (SublimeText3)

Hot Topics

Alipay PHP...

JWT is an open standard based on JSON, used to securely transmit information between parties, mainly for identity authentication and information exchange. 1. JWT consists of three parts: Header, Payload and Signature. 2. The working principle of JWT includes three steps: generating JWT, verifying JWT and parsing Payload. 3. When using JWT for authentication in PHP, JWT can be generated and verified, and user role and permission information can be included in advanced usage. 4. Common errors include signature verification failure, token expiration, and payload oversized. Debugging skills include using debugging tools and logging. 5. Performance optimization and best practices include using appropriate signature algorithms, setting validity periods reasonably,

Session hijacking can be achieved through the following steps: 1. Obtain the session ID, 2. Use the session ID, 3. Keep the session active. The methods to prevent session hijacking in PHP include: 1. Use the session_regenerate_id() function to regenerate the session ID, 2. Store session data through the database, 3. Ensure that all session data is transmitted through HTTPS.

The application of SOLID principle in PHP development includes: 1. Single responsibility principle (SRP): Each class is responsible for only one function. 2. Open and close principle (OCP): Changes are achieved through extension rather than modification. 3. Lisch's Substitution Principle (LSP): Subclasses can replace base classes without affecting program accuracy. 4. Interface isolation principle (ISP): Use fine-grained interfaces to avoid dependencies and unused methods. 5. Dependency inversion principle (DIP): High and low-level modules rely on abstraction and are implemented through dependency injection.

How to automatically set the permissions of unixsocket after the system restarts. Every time the system restarts, we need to execute the following command to modify the permissions of unixsocket: sudo...

How to debug CLI mode in PHPStorm? When developing with PHPStorm, sometimes we need to debug PHP in command line interface (CLI) mode...

Static binding (static::) implements late static binding (LSB) in PHP, allowing calling classes to be referenced in static contexts rather than defining classes. 1) The parsing process is performed at runtime, 2) Look up the call class in the inheritance relationship, 3) It may bring performance overhead.

Sending JSON data using PHP's cURL library In PHP development, it is often necessary to interact with external APIs. One of the common ways is to use cURL library to send POST�...
