我已经正确创建了一个数组并有一个数组项:
$array[2] = "Automotive Repairs and Servicing";
我尝试在 $array 上搜索汽车维修和服务,它返回 false:
array_search('Automotive Repairs and Servicing', $array);
我发现它返回 false 因为我在搜索字符串中有一个空格,即 Automotive(space)Repairs(space)and(space)Servicing。
有谁知道我怎样才能让我的搜索成功返回密钥?我曾尝试将空格设为 %20、\n,如下所示:
array_search('Automotive%20Repairs%20and%20Servicing', $array);
array_search('Automotive\nRepairs\nand\nServicing', $array);
array_search('Automotive Repairs and Servicing', $array);
我将继续尝试解决这个问题,如果我解决了它,我会发布我的答案。
...感谢您在下面的回答。我试过你的代码,它也对我有用。
我的真实数组实际上是由使用 mysql 查询的数据库中的数据构成的,并将结果直接放入数组中。所以现在不太确定问题出在哪里。
...
我的答案:
感谢大家回复并帮助我解决这个问题。
我发现了我的问题……我非常尴尬。
原来在我的数据库中字符串“汽车维修和服务”的末尾有一个我没有看到的空格。我以前遇到过这个问题,我的 mysql 数据库有时就像这样弄乱我的脑袋。
因此,对于其他任何获得 mysql 结果并将其粘贴到数组中然后遇到类似问题的人,请确保您的 mysql 不会在您的数据中使用空格(人眼不可见)“恶作剧”您。
我要出去抽支烟。