Php数组\搜索键的值而不是数字

Php数组\搜索键的值而不是数字,php,arrays,Php,Arrays,我有这个阵列: $lk = array( 'About_US' => array( 'en' => 'about-us', 'es' => 'sobre-nosotros', ), 'Shared_Hosting' => array( 'en' => 'website-shared-hosting', 'es' => 'alojamiento-de-sitios', ), 我需要通过这种类型的搜索获得名称“Shared_Hos

我有这个阵列:

$lk = array(
'About_US' => array(
    'en' => 'about-us',
    'es' => 'sobre-nosotros',
),
'Shared_Hosting' => array(
    'en' => 'website-shared-hosting',
    'es' => 'alojamiento-de-sitios',
),
我需要通过这种类型的搜索获得名称“Shared_Hosting”

        $key = array_search('website-shared-hosting', array_column($lk, 'en'));
        echo $key;
$key for me的值显示“1”而不是“Shared_Hosting”,这是因为“0”表示“About_US”,而“1”表示“Shared_Hosting”(我相信)

如果我尝试回显$key,这将导致“1” 我花了一整天的时间试图获得$key=“共享托管” 尝试了很多方法和功能

可能是另一个函数而不是数组\列


谢谢大家的阅读和帮助

这是我能找到的最简单的解决方案,我不认为会有一条直线:

<?php

$lk = array(
'About_US' => array(
    'en' => 'about-us',
    'es' => 'sobre-nosotros',
),
'Shared_Hosting' => array(
    'en' => 'website-shared-hosting',
    'es' => 'alojamiento-de-sitios',
)
);

$foundIn = [];

forEach($lk as $key => $sub) {
    if(array_search('website-shared-hosting', $sub)) {
        $foundIn[] = $key;
    }
}

var_dump($foundIn);

// Output: array(1) { [0]=> string(14) "Shared_Hosting" }

打印有什么问题($lk[$key])?你已经找到目标了!或者你想要什么?以前已经试过了,但它给了我一个错误:未定义的偏移量:1 in/devel/index.phptrue,对不起,这是一个快速的尝试-而且是错误的。我相信这是停止我的工作大约14个小时的尝试。当然,有一个简单的解决办法,我可能只是没有用正确的方式思考!从我的观点来看,这不是一个简单的解决方案,而是通过数组循环。但我很乐意学习一些新的东西…它很有效,但是。。。我应该通过“en”找到它,无论如何这是一个很好的解决方案,因为现在我可以使用if in_数组函数了!谢谢你的帮助!再次感谢你,杰夫,用这个我解决了我的问题。