我遇到了一个问题,我有一个作为数组的公司列表,并且我正在使用array_search()
从该数组中获取密钥以作为ID存储在数据库中。
这适用于我公司的所有产品,除了那些带有撇号的产品!我不知道array_search()
是如何具体工作的,但我找不到网上发布的解决方案。
<?php
$array = array("pipefix", "Housing ltd","o'briens roofing","argos");
$search = "o'briens roofing";
$id = array_search($search, $array);
print_r($id);
这显然不是我的确切代码,但原理是一样的,我正在尝试为我的公司搜索数组,但如果其中有'
,它总是不会返回任何结果!对此有什么想法或解决方案吗?
我使用的Array是从另一个存储信息的数据库中提取的,并发布在我无法控制的API上。
我不把它存储在我的数据库中,我只存储[ID]用于管理和输入。
提取的数组在检索时是HTML编码的。
我使用JSON
和cUrl
从API中提取了这个数组。这意味着当我第一次获得数组值时,Apostrophe
已经转换为's
。
我认为使用htmlsecialchars_decode()
可以恢复这种情况。感谢Ryan Vincent,他向我展示了问题是在使用cUrl
拉动时创建的。
不幸的是,我无法更改这一点,因此在创建阵列时,我现在执行str_replace()
并简单地删除's
。
这意味着一旦显示,它在技术上是不正确的。但由于这只被少数人使用,因此这样做比每次搜索都必须在后端进行更有效。