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,我有个愚蠢的问题,但我不明白。我在这里看到了这个数组: Array ( [0] => Array ( [0] => 1509 [1] => 1597 ) ) 我需要做的是通过多维数组中的值获取键。第一个数组始终是0在此之后,我再也没有数组了。所以我只需要检查parent->child数组 目前我在这里做这件事,但它不起作用: $key = array_search( 1509, $arr

我有个愚蠢的问题,但我不明白。我在这里看到了这个数组:

Array
(
    [0] => Array
        (
            [0] => 1509
            [1] => 1597
        )

)
我需要做的是通过多维数组中的值获取
。第一个数组始终是
0
在此之后,我再也没有数组了。所以我只需要检查
parent->child
数组

目前我在这里做这件事,但它不起作用:

$key = array_search( 1509, $array[0], true );

键始终为空。

它可能不是空的。假设您的数组结构与您所说的一样,最有可能发生的情况是您没有强制转换输出

请尝试以下操作:

exit((字符串)$k)


我只是想指出,这是为了证明你所做的一切都是有效的。无需在正常场景中施放。

谢谢你让我走上了正确的道路。问题是,由于最后的true,我说了be strict,所以它不仅检查值,还检查变量类型,我在这里传递一个变量,它是string类型的int。很奇怪,但还行

$key = array_search( (int) $var, $array[0], true );

我只是在一个php沙盒网站上做了这件事,并得到了一个答案。下面是我在上的共享示例。在应用程序中没有看到您所声明的代码是正确的。这对我来说很好:$array=array(array(15091597))$key=array\u search(1509,$array[0],true);正常运转你到底是如何验证“密钥总是空的”?换句话说,你问题中的代码与你的实际代码不匹配是的,看起来你是对的。我以前通过POST将变量作为int传递,所以我认为int会出现在另一端。我觉得没关系。很抱歉投票赞成也关闭。仅供参考,所有请求输入值(即
$\u GET
$\u POST
$\u COOKIE
)都是字符串。