首页 > 解决方案 > 我想知道如何在 PHP 的复杂语句中组合 If、AND 和 OR

问题描述

我有一个问题需要帮助。我正在生成随机数以使用 chr($v) 转换为密码。我正在使用 if 语句来确保我只使用可打印的字符。我已经使用 Lazarus for Windows 和 Linux 成功地在 Arduino 和 Pascal 的 C++ 中工作。我现在正在尝试编写一个基于 Web 的版本,但无法以 PHP 7.3 中的任何一种形式运行下面的代码。第一个是在 C++ 和 Pascal 中工作的那个,尽管在 Pascal 中我必须使用 AND 和 OR!任何帮助将不胜感激!!非常感谢。

if (($v > 47) && ($v < 58)) || (($v > 64) && ($v <91)) || (($v > 96) && ($v < 123))
if ($v > 47 && $v < 58) || ($v > 64 && $v <91) || ($v > 96 && $v < 123)

标签: php

解决方案


在 PHP 中,if语句必须有一对圆括号将所有条件括起来

所以

if (condition a) || (condition b)
{}

会有语法错误,你需要有

if ((condition a) || (condition b))
{}

因此,对于您的情况,请更改:

if ($v > 47 && $v < 58) || ($v > 64 && $v <91) || ($v > 96 && $v < 123)

if (($v > 47 && $v < 58) || ($v > 64 && $v <91) || ($v > 96 && $v < 123))

推荐阅读