duanjiani6826 2011-11-23 14:02
浏览 6
已采纳

根据另一个数组过滤$ _REQUEST数组?

Array $ALLOWED_CALLS contains a function name and required parameters. I'd like to filter $_REQUEST array obtaining a $params array with only required paramets in it. How to?

$call = 'translate';

$ALLOWED_CALLS = array(
    'getLanguages' => array(),
    'detect' => array('text'),
    'translateFrom' => array('text', 'from', 'to'),
    'translate' => array('text', 'to'),
);

$params = array(); // Should contain $_REQUEST['text'] and $_REQUEST['to']
  • 写回答

4条回答 默认 最新

  • douzhao7014 2011-11-23 14:09
    关注

    I'd use array_intersect_key() like so:

    $params = array_intersect_key($_REQUEST, array_flip($ALLOWED_CALLS[$call]));
    

    Thus, the whole thing:

    $call = 'translate';
    
    $ALLOWED_CALLS = array(
        'getLanguages' => array(),
        'detect' => array('text'),
        'translateFrom' => array('text', 'from', 'to'),
        'translate' => array('text', 'to'),
    );
    
    $params = array_intersect_key($_REQUEST, array_flip($ALLOWED_CALLS[$call]));
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(3条)

报告相同问题?

悬赏问题

  • ¥15 乌班图ip地址配置及远程SSH
  • ¥15 怎么让点阵屏显示静态爱心,用keiluVision5写出让点阵屏显示静态爱心的代码,越快越好
  • ¥15 PSPICE制作一个加法器
  • ¥15 javaweb项目无法正常跳转
  • ¥15 VMBox虚拟机无法访问
  • ¥15 skd显示找不到头文件
  • ¥15 机器视觉中图片中长度与真实长度的关系
  • ¥15 fastreport table 怎么只让每页的最下面和最顶部有横线
  • ¥15 java 的protected权限 ,问题在注释里
  • ¥15 这个是哪里有问题啊?