- android - RelativeLayout 背景可绘制重叠内容
- android - 如何链接 cpufeatures lib 以获取 native android 库?
- java - OnItemClickListener 不起作用,但 OnLongItemClickListener 在自定义 ListView 中起作用
- java - Android 文件转字符串
假设我有一个数组并且我想检查某个元素是否是该数组的一部分,我可以继续使用 in_array(needle, haystack) 来确定结果。为了我的目的,我正在尝试查看与此等效的 PHP。现在你可能对我有一个即时的答案,你可能会想说“使用 IN”。是的,我可以使用 IN,但这并不能获取所需的结果。让我用一个例子来解释:
我在数据库表中有一个名为“宠物”的列。对于记录,它有一个值:Cat, dog, Camel(是的,列数据是逗号分隔值)。假设这一行的 id 为 1。
现在我有一个表单,我可以在其中输入表单输入中的值,并使用该值检查数据库中的值。假设我在表单输入中输入以下逗号分隔值:CAT, camel(是的,CAT 是大写的,而且是有意为之,因为有些用户倾向于这样输入)。
现在,当我在表单输入中输入上述信息并提交时,我可以收集发布的信息并使用以下查询:
$search = $_POST['pets'];
$sql = "SELECT id FROM table WHERE pets IN ('$search') ";
上面的查询没有获取数据库中已经存在的行(还记得宠物列的值是 Cat, dog, Camel 的记录吗?)。我正在尝试让记录充当超集,并将表单输入中的值作为子集。所以在这种情况下,我希望 id 值显示为列中存在的值,但这并没有发生。
现在假设我只输入 CAT 作为表单输入并执行搜索,它应该会显示 ID 1 行。
现在假设我只输入 camel, cAT 作为表单输入并执行搜索,它应该会显示 ID 1 行。
我怎样才能实现上述目标?
谢谢。
最佳答案
您要找的函数是find_in_set :
select * from ... where find_in_set($word, pets)
对于多词查询,您需要测试每个词和 AND(或 OR)测试:
where find_in_set($word1, pets) AND find_in_set($word2, pets) etc
关于PHP、MySQL : mysql substitute for php in_array function,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2981280/
是 in_array() php多字节安全功能? 如果没有,我怎样才能做到这一点? php.net 多字节引用列表 mb_stristr()但它接受一个字符串,而不是像 haystack 那样的数组。
这真的不应该这么复杂,这表明我做错了什么,但在检查文档后我无法弄清楚是什么。 我正在尝试使用这段代码($level 作为参数传入)进行简单检查,以查看“标签”的类型是否在此操作期间要使用的类型列表中:
我正在使用 in_array如果值存在,则在数组中搜索。我的代码如下: $file = 'domains.txt'; //reading txt file $lines = file($file);/
我不知道是什么导致了这个问题,但我会在下面发布代码,然后查看我到目前为止所做的事情以及我得到的结果。 $client_emails = array( 'email@ex-one.com' =>
我有一个数组,我应用 in_array 函数在该数组中查找特定数字,但没有显示结果,数据在数组内但没有响应..:( 数组: Array ( [0] => SimpleXMLElement Objec
我有一个通过分解字符串形成的数组,如下所示。 $interest_array = explode(',', $user->interests); 当我 var_dump 这个数组时,我得到 array
这个问题已经有答案了: PHP in_array() / array_search() odd behaviour (2 个回答) 已关闭 7 年前。 对于这个数组 ($options) : Arra
我正在构建一个对象数组。我需要这个数组仅包含给定对象的一个实例,对同一对象的多个引用应该引发异常。我使用以下代码来实现此目的: public function addField ($name, i
这个问题在这里已经有了答案: A problem about in_array (3 个回答) PHP's variable type leniency (3 个回答) 4年前关闭。 在验证 Cont
此代码应返回 TRUE 值: 但是 in_array 返回 FALSE。 最佳答案 in_array 检查数组中是否存在一个值。 你的 $needle 作为 $haystack 的值根本不存在 如果
我有一个通过分解字符串形成的数组,如下所示。 $interest_array = explode(',', $user->interests); 当我 var_dump 这个数组时,我得到 array
我在阿拉伯语中使用 in_array 函数...in_array ('من', $words) 在 $words 真正包含 من 的地方给出 true。 但是 in_array('من', $stop
我有一个简单的 in_array() 和一个数组作为下面的针示例,但是我希望我的示例应该回显; match found in the array 鉴于两根针都存在于大海捞针中。但是,此代码不会产生 e
我试图从两个不同的文本文件中获取两个不同的数字,将它们放入一个变量中,然后将其与 MYSQL 数组进行比较。我的问题是,当我定义三个变量时: $num = 42; $whichPlaylist = 2
因此,我尝试使用 in_array 从数据库中回调列表,然后通过执行以下操作来检查这些结果,以查看数组中是否存在“Title”字段。 $qGetAllTitles = "SELECT ArticleT
所以我遇到了一个无法解决的奇怪问题,我不知道问题是什么以及应该如何解决它。 我有一个简单的加载图像的系统,称为快照。每一张快照,都有喜欢。这就是我加载快照和相关(数量)喜欢的方式: /* * Get
我有以下数组: Array ( [0] => Array ( [video_id] => 161162806 ) [1] =>
名为users 的数据库表有一列timemarks。 timemark 字段如下所示。11:00:00、13:45:00、17:00:00、18:25:00(时间-每个用户的分数不同) 我的 php
您好,我正在尝试使用 in_array,我认为我的语法是正确的,但它说“第二个参数的数据类型错误” 我的代码是 $result = mysqli_query($con, "SELECT * FROM
我正在使用 PDO 方法从数据库中获取数组: $statement = $db->prepare("SELECT sname FROM list WHERE ongoing = 1;"); $stat
我是一名优秀的程序员,十分优秀!