为了账号安全,请及时绑定邮箱和手机立即绑定

在多维数组中搜索哪些键包含特定值并删除不包含的键

在多维数组中搜索哪些键包含特定值并删除不包含的键

PHP
互换的青春 2021-09-05 20:15:45
我有一个包含关键字(电子邮件、购物车等)的多维数组,每个关键字都有一个特定的应用程序列表(EmailAppA..)及其排名(1,2..)。Array(    [email] => Array        (            [EmailAppA] => 1            [EmailAppB] => 2            [EmailAppC] => 4        )    [cart] => Array        (            [CartAppA] => 1            [CartAppB] => 2            [MyApp] => 4        )    [reviews] => Array        (            [reviewAppA] => 1            [reviewAppB] => 4            [reviewAppC] => 5            [MyApp] => 7        )我想要实现的是在数组中循环,找到包含应用程序“MyApp”的所有键,并最终删除不包含值“MyApp”的键。该数组必须仅保留购物车和评论及其值,电子邮件已删除。到目前为止我的代码,但我被卡住了:foreach ($mappedStuff as $keywords=>$value){    foreach ($value as $apps=>$rank){        if($apps != 'MyApp'){          unset($mappedStuff[$keywords];        }    }}
查看完整描述

3 回答

?
凤凰求蛊

TA贡献1825条经验 获得超4个赞

您可以使用array_filter过滤数组。在其回调函数中,您将查找“MyApp”的存在。如果它不存在,回调函数将返回 false,因此当前键将被过滤掉。


$filtered = array_filter($array, function($apps)

{

   return in_array('MyApp', $apps);

});

我刚刚注意到,你想搜索一个关键的存在,而不是价值,所以只需将我的代码更改为:


$filtered = array_filter($array, function($apps)

{

   return isset($apps['MyApp']);

});


查看完整回答
反对 回复 2021-09-05
  • 3 回答
  • 0 关注
  • 130 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信