gpt4 book ai didi

php - 在 IF 语句中使用 IN 参数?

转载 作者:行者123 更新时间:2023-11-29 10:44:50 25 4
gpt4 key购买 nike

我已经尝试在 Select 语句上使用 IN 参数,例如

$sql = "SELECT * FROM msgs WHERE user1 IN ('$var1','$var2') AND user2 IN ('$var1','$var2')";

这也适用于 IF 语句吗

if(user1 IN ('$var1','$var2') AND user2 IN ('$var1','$var2')){

如果没有,是否有其他方法可以在 IF 语句中实现类似的效果?

更新

msg 表看起来像这样:

accid  |  user1  |  user2  |  message  |
1 mark edward asasdsadsad
2 edward mark asdaqwdksjadhkq
3 mark sherlock sadasdadsad

我想制作一个 IF STATMENT 来识别 user1 是否是 mark/edward AND user2 是 mark/edward - 这样我就可以确认两者已发送来回消息。通常我可以使用 INSELECT,但在这种情况下,由于某些原因我必须真正使用 IF 语句。有办法做到这一点吗?

最佳答案

IN 运算符是标准 SQL 运算符;这在 SQL 语句中是有效的。

但这不是 PHP 运算符。不,PHP if 语句不正确。PHP 比较运算符记录如下:

http://php.net/manual/en/language.operators.comparison.php

完全不清楚 user1 所引用的是什么。如果这是一个变量名,则前面应有一个美元符号。

该 SQL 表达式在 PHP 中的等效内容如下:

if( ( $user1 == $var1 or $user1 == $var2) and ( $user2 == $var1 OR $user2 == $var2 ) ) {

注意:在 MySQL 中,默认情况下,字符串比较不区分大小写。 (这实际上取决于表达式的排序规则。)如果我们要比较字符串,为了在 PHP 中进行不区分大小写的比较,我们可以使用 strcasecmp 函数代替 == 比较运算符。记录在这里:

http://php.net/manual/en/function.strcasecmp.php

<小时/>

正如u_mulder在评论中建议的那样,如果我们可以对字符串进行区分大小写的比较,并且如果我们放置$var1$var2 到数组中,我们可以使用 in_array 函数,记录如下:

http://php.net/manual/en/function.in-array.php

关于php - 在 IF 语句中使用 IN 参数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44790068/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com