doqpm82240 2014-02-06 12:05
浏览 19
已采纳

从关联中删除某些键。 排列

I have two arrays:

$pool = array(
     'foo' => array('foobar1'),
     'bar' => array('foobar2'),
     'lou' => array('foobar3'),
     'zuu' => array('foobar4') 
);

$remove = array('lou', 'zuu');

How do I get this array:

$result = array(
     'foo' => array('foobar1'),
     'bar' => array('foobar2')
);

I can do a foreach loop but I like a more elegant solution like

$result = array_intersect_key( $pool, array_flip($remove) );

which gives me the other way:

array(
     'lou' => array('foobar3'),
     'zuu' => array('foobar4')
);

EDIT: my one line solution is:

array_intersect_key( $pool, array_flip( array_keys( array_diff_key( $pool, array_flip( $remove ) ) ) ) )
  • 写回答

2条回答 默认 最新

  • dongtigai3875 2014-02-06 12:09
    关注

    try this then

     $pool = array(
         'foo' => array('foobar1'),
         'bar' => array('foobar2'),
         'lou' => array('foobar3'),
         'zuu' => array('foobar4') 
    );
    
    $remove = array('lou', 'zuu');
    $compare=array_diff_key($pool, array_flip($remove));
    var_dump(array_intersect_key($pool,$compare));
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

悬赏问题

  • ¥15 使用ue5插件narrative时如何切换关卡也保存叙事任务记录
  • ¥20 软件测试决策法疑问求解答
  • ¥15 win11 23H2删除推荐的项目,支持注册表等
  • ¥15 matlab 用yalmip搭建模型,cplex求解,线性化处理的方法
  • ¥15 qt6.6.3 基于百度云的语音识别 不会改
  • ¥15 关于#目标检测#的问题:大概就是类似后台自动检测某下架商品的库存,在他监测到该商品上架并且可以购买的瞬间点击立即购买下单
  • ¥15 神经网络怎么把隐含层变量融合到损失函数中?
  • ¥15 lingo18勾选global solver求解使用的算法
  • ¥15 全部备份安卓app数据包括密码,可以复制到另一手机上运行
  • ¥20 测距传感器数据手册i2c