我的if else声明怎么了?

G T*_*gos 0 boolean-logic

我有一个$name包含字符串的变量,当我测试它时,我永远不会得到"名称应该在2到40个字符之间"错误,即使它长度小于2个字符或大于40个.为什么?

if (strlen($name) < 2 && strlen($name) > 40) {
    $nameError = 'Name should be between 2 and 40 characters';
}
Run Code Online (Sandbox Code Playgroud)

T.J*_*der 6

如何长度小于2 大于40?你想要||("或"),而不是&&("和").

if (strlen($name) < 2 || strlen($name) > 40) {
// -------------------^^
Run Code Online (Sandbox Code Playgroud)