php相当于mysql的“IN”运算符?

问题描述 投票:0回答:2

我已经有一段时间没有用 PHP 编码了,而且我没有运气用 Google 搜索这个基本问题。

如果我想做这样的事情:

if ($x == $a || $x == $b || $x == $foo || $x == $bar) { //whatever

有什么好的写法吗?我在想类似 SQL 的 IN 运算符:

if ($x IN ($a, $b, $foo, $bar)) { //whatever

有没有一种方法可以在不使用数组的情况下简化代码?

php operators
2个回答
1
投票

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

但是,值得注意的是,您有点将两种类型的语言混为一谈; PHP是一种脚本语言,SQL是一种查询语言。它们服务于两个截然不同的目的,并在幕后做截然不同的事情,所以这是一个重要的区别。

[编辑:不使用数组?可能不会,不会;你抛弃了在这种情况下特别有用的构造]


0
投票

答案是使用 in_array(),但如果你经常使用它,请创建一个别名:

使用函数 in_array 如下;

if (in($x, [$a, $b, $foo, $bar]) { }

© www.soinside.com 2019 - 2024. All rights reserved.