如何检查记录是否具有PHP中给定标准的匹配零件



我尚未设法弄清楚如何解决我目前面临的问题。

我的数据库表中有某些记录 - 研究组是特定的。例如 IK15 IK16 TEK15 TEK17 等等。基本上,第一部分,在这种情况下的字母保持不变,但是它们之后的数字是不同的,并且会在一段时间后改变。

我需要创建一个条件,以检查记录是否符合条件。但是它只能检查记录的第一部分,在这种情况下。

因此,它应该返回 true for ik11 ik14 IK12 IK19 (检查记录是否包含" ik"(和 false 其他所有不同的内容。

有什么想法吗?

谢谢!

您的问题有点不清楚,但是从我的收集中,您可以使用正则表达式?例如,以下内容匹配以" IK"开头的任何内容,其次是数字。

IK[0-9]*$

这将与IK33 IK11 IK19这样的字符串匹配,但不匹配IK19a

由于值在单列中,您可以使用LIKE运算符检查列(VARCHAR(是否包含诸如IK

之类的内容。
$results = DB::table("table")->where("study_groups", "LIKE", "%IK%")->get();

因此,对于您的例子

// Study Groups Column
"IK15, IK16, TEK15, TEK17"; // true (`IK15`, `IK16`)
"IK12, TEK11, IK17, KS14";  // true (`IK12` and `IK17`)
"IK11, IK14 IK12, IK19"; // true (all values)

LIKE操作员是非常开放的,这意味着如果它在列中找到 IK awhere ,它将返回该行。

好吧,我现在按照自己想要的方式工作了。

我最终从字符串中剥离了数字,然后将其与特定记录进行比较,然后根据相等的记录返回false还是true。

我想我的问题格式不佳,很难理解,因此我为此表示歉意。

最新更新