当实体中有撇号时不能使用 array_search()
Cannot use array_search() when entity has Apostrophes in them
我遇到一个问题,我有一个公司列表作为一个数组,我正在使用 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);
这显然不是我的确切代码,但原理相同,我正在尝试为我的公司搜索数组,但如果它有一个 '
,它总是 return 没有什么!对此有什么想法或解决方案吗?
我使用的数组是从另一个数据库存储的信息中提取的,并发布在我无法控制的 API 上,不幸的是。
我不将此存储在我的数据库中,我只存储 [ID] 用于管理和输入。
提取的数组在检索时进行了 HTML 编码。
我使用 JSON
和 cUrl
从 API 中提取了这个数组。这意味着当我第一次掌握数组值时,Apostrophe
已转换为 's
.
我认为使用 htmlsecialchars_decode()
会恢复这个。感谢 Ryan Vincent,他向我展示了问题是在使用 cUrl
拉出时创建的。
不幸的是,我无法更改此设置,因此在创建数组时,我现在执行 str_replace()
并简单地删除 's
。
这意味着一旦显示它在技术上是不正确的。但由于只有少数人在使用它,所以这样做比每次搜索都必须在后端进行更有效。
我遇到一个问题,我有一个公司列表作为一个数组,我正在使用 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);
这显然不是我的确切代码,但原理相同,我正在尝试为我的公司搜索数组,但如果它有一个 '
,它总是 return 没有什么!对此有什么想法或解决方案吗?
我使用的数组是从另一个数据库存储的信息中提取的,并发布在我无法控制的 API 上,不幸的是。
我不将此存储在我的数据库中,我只存储 [ID] 用于管理和输入。
提取的数组在检索时进行了 HTML 编码。
我使用 JSON
和 cUrl
从 API 中提取了这个数组。这意味着当我第一次掌握数组值时,Apostrophe
已转换为 's
.
我认为使用 htmlsecialchars_decode()
会恢复这个。感谢 Ryan Vincent,他向我展示了问题是在使用 cUrl
拉出时创建的。
不幸的是,我无法更改此设置,因此在创建数组时,我现在执行 str_replace()
并简单地删除 's
。
这意味着一旦显示它在技术上是不正确的。但由于只有少数人在使用它,所以这样做比每次搜索都必须在后端进行更有效。