我有一个分配给$ elements的数组。当我使用array_keys来获取密钥时,我得到了你期望的结果。
print_r(array_keys($elements));
结果:
Array
(
[0] => anchor-namecontentblock_areaBlock0contentblock11_1
[1] => anchor-namecontentblock_areaBlock0contentblock22_1
[2] => anchor-namecontentblock_areaBlock0contentblock33_1
...
但是当我尝试使用带有搜索值的array_keys时,我得到一个空数组。
print_r(array_keys($elements, "anchor-namecontentblock_areaBlock0contentblock11_1"));
结果不是:
Array
(
[0] => 0
)
我错过了什么吗?
答案 0 :(得分:4)
您正在执行错误的array_keys搜索。您的anchor-name...
值在原始数组中是KEYS,而不是VALUES。因此,您的array_keys
搜索参数无用 - 它将搜索原始数组的值,例如
$foo = array(
'anchor-namecontentblock_areaBlock0contentblock11_1' => 'somevalue'
etc..
searched by array_keys---------^^^^^^^^^^
你需要做更多的事情:
$results = array_search('anchor-name...', array_keys($elements)));
^^^^^^^^^^^^^
代替。
答案 1 :(得分:3)
将搜索参数指定为array_keys
可让您检索与数组中的一个或多个值对应的键。您已将其中一个键传递给它,因此该函数未返回任何结果。