如何在PHP数组中查找特定键

如何在PHP数组中查找特定键,php,Php,请在下面找到我的数组 Array ( [0] => Array ( [id] => 0 [country] => GB [note] => coda@knoppys.co.uk [cost] => [company] => Aberdeen Debenhams [address_1] => [address_2] => Trinity Centre [city] =&

请在下面找到我的数组

Array ( 
[0] => Array ( 
    [id] => 0 
    [country] => GB 
    [note] => coda@knoppys.co.uk 
    [cost] => 
    [company] => Aberdeen Debenhams 
    [address_1] => 
    [address_2] => Trinity Centre 
    [city] => 
    [state] => 
    [postcode] => AB11 6BD 
    [phone] => 01224 578553 
) 
[1] => Array ( 
    [id] => 1 
    [country] => GB 
    [note] => 
    [cost] => 
    [company] => Basildon Debenhams 
    [address_1] => 
    [address_2] => The Eastgate Centre 
    [city] => 
    [state] => 
    [postcode] => SS14 1HR 
    [phone] => 01268 244456 
)
)
该数组作为单个WordPress选项作为序列化数组存储在数据库中

我有一个字符串:

$storename = 'Aberdeen Debenhams';
我有一个函数用来搜索多维数组中的字符串

if(search_array($storename, $option)) {
    echo 'true';
}
现在这听起来是真的,很好。
$storename
是动态的,来自以前的函数。我需要做的是能够在同一个数组中获取
[注意]
键的值,这样我就可以在下一个函数中使用它

更新:为了让我的下一个功能正常工作,我使用以下代码从与
$storename

//Get the email address of the storename                    
$key = array_search($storename, array_column($option,'company'));
echo $option[$key]['note'];
然而,我现在得到以下信息

店名:阿伯丁德本汉姆 电邮:coda@knoppys.co.uk

店名:Basildon Debenhams 电邮:coda@knoppys.co.uk

它似乎只回显了第一个数组中的电子邮件地址。

使用
aray\u search()
以及
array\u column()
:-

输出:-或

注:-

此解决方案适用于数字索引数组,而不是关联数组


使用@Kodos Johnson建议的
if($key!==false){echo…}

你可以通过迭代来解决它,如下所示,如果你有一个公司数组,你可以设置
foreach()
,迭代大型
foreach()
中的公司


echo$key=array\u search($storename$option);谢谢@Amit,但那没有给我纸币钥匙,也没有其他钥匙。我需要获取与$storename位于同一数组中的Notes键的值。很抱歉,我将您的名称弄错了。我已进行了更新,您的代码正在运行,但它只是从数组中获取第一个[注释]。@AlexKnopp它也在处理您的更新问题,请检查此处:-($storename需要更改,否则总是获得相同的值)@AlexKnopp在使用它之前,您应该确保
$key
不是
false
。如果($key!==false){echo…},也要这样做。这是因为
array\u search
返回
false
如果未找到值,并且当您使用
false
作为数组的键时,它将假定0是数组的第一个元素。@Anant,感谢您的帮助。添加if语句修复了返回相同电子邮件地址的问题。@AlexKnopp很高兴为您提供帮助。:)
echo $key = array_search($storename, array_column($option,'company'));

echo PHP_EOL;

echo $option[$key]['note'];
foreach(array as arr){

   $aberdeen=new array();
   $basildon= new array();

   if(arr['company']=="Aberdeen Debenhams")
      $aberdeen = $arr;


    if(arr['company']=="Basildon Debenhams")
      $basildon = $arr;
 }

$basildon['note']; //(empty)
$aberden['note'];  //coda@knoppys.co.uk