Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 使用数组_键并获得意外结果_Php_Arrays - Fatal编程技术网

Php 使用数组_键并获得意外结果

Php 使用数组_键并获得意外结果,php,arrays,Php,Arrays,我有一个分配给$elements的数组。当我使用数组_键来获取这些键时,我得到了您所期望的结果 print_r(array_keys($elements)); 结果: Array ( [0] => anchor-namecontentblock_areaBlock0contentblock11_1 [1] => anchor-namecontentblock_areaBlock0contentblock22_1 [2] => anchor-nameco

我有一个分配给$elements的数组。当我使用数组_键来获取这些键时,我得到了您所期望的结果

print_r(array_keys($elements));
结果:

Array
(
    [0] => anchor-namecontentblock_areaBlock0contentblock11_1
    [1] => anchor-namecontentblock_areaBlock0contentblock22_1
    [2] => anchor-namecontentblock_areaBlock0contentblock33_1
...
但当我尝试使用带有搜索值的数组_键时,得到的是一个空数组

print_r(array_keys($elements, "anchor-namecontentblock_areaBlock0contentblock11_1"));
如果结果不是:

Array
(
    [0] => 0
)

我缺少什么吗?

数组\u key
指定搜索参数可用于检索与数组中的一个或多个值相对应的键。您正在向它传递一个数组,因此该函数不返回任何结果。

将搜索参数指定给
数组\u键
允许您检索与数组中一个或多个对应的键。您正在向它传递一个数组键,因此函数不返回任何结果。

您执行了错误的数组\u键搜索。您的
锚定名称…
值是原始数组中的键,而不是值。因此,您的
array\u key
search参数是无用的-它将搜索原始数组的值,例如

$foo = array(
   'anchor-namecontentblock_areaBlock0contentblock11_1' => 'somevalue'
   etc..
                            searched by array_keys---------^^^^^^^^^^
你需要做一些更像:

$results = array_search('anchor-name...', array_keys($elements)));
           ^^^^^^^^^^^^^

相反。

您执行了错误的数组\u键搜索。您的
锚定名称…
值是原始数组中的键,而不是值。因此,您的
array\u key
search参数是无用的-它将搜索原始数组的值,例如

$foo = array(
   'anchor-namecontentblock_areaBlock0contentblock11_1' => 'somevalue'
   etc..
                            searched by array_keys---------^^^^^^^^^^
你需要做一些更像:

$results = array_search('anchor-name...', array_keys($elements)));
           ^^^^^^^^^^^^^

相反。

我们可以拥有
$elements
的内容吗?是的!您肯定缺少@Rizier123此处打印的数组是
array\u键($elements)
的结果,而不是原始数组
array\u search()
用于搜索值,而不是键。还要设置
XDebug
。@D4V1D来自手册:
搜索数组中给定的值,如果成功,则返回相应的键
,因此OP希望从值中查找键我们可以获得
$elements
的内容吗?是的!您肯定缺少@Rizier123此处打印的数组是
array\u键($elements)
的结果,而不是原始数组
array_search()
用于搜索值,而不是键。还要设置
XDebug
。@D4V1D从手册:
搜索数组中的给定值,如果成功,则返回相应的键
,因此OP希望从值中查找键。谢谢你。不过为了澄清,array_search需要字符串作为第一个参数,数组作为第二个参数:array_search('anchor-name…',array_key($elements));令人惊叹的谢谢你。不过为了澄清,array_search需要字符串作为第一个参数,数组作为第二个参数:array_search('anchor-name…',array_key($elements));