码迷,mamicode.com
首页 > 编程语言 > 详细

PHP-数组函数

时间:2015-04-16 01:14:00      阅读:160      评论:0      收藏:0      [点我收藏+]

标签:

今天在写一个给第三方同步数据的接口时遇到一个这种情况,我有一大坨数据,但是第三方只需要其中的几个而已,不及思索的就开始foreach

 

$ret = array();
foreach ($needParams as $pk) {
    if (isset($params[$pk])) {
        $ret[$pk] = $params[$pk];
    }
}

由于还需要处理一些特殊参数,看着很不舒服

 

想了想php数组函数是很强大的,于是改成

$needkey = array(‘uid‘, ‘cuid‘);
$params = array(‘uid‘ => 123, ‘cuid‘ => 1234567, ‘other‘ => ‘...‘);
$ret = array_intersect_key($params, array_flip($needkey));

 

改成

    /**
     * _packParams
     * 
     * @desc 根据配置从公共参数中摘取传递参数
     */
    private function _packParams($params, $needKey) {
        $ret = array_intersect_key($params, $needKey);
        //个别参数特殊处理
        if (isset($ret[‘uid‘])) {
            $ret[‘cuid‘] = $ret[‘uid‘];
            unset($ret[‘uid‘]);
        }
        if (isset($needKey[‘puid‘])) {
            $passSrv = $this->getInstance(‘Util_Passport‘);
            $uid = $passSrv->getUidFromCookie($params[‘cookie‘]);
            $ret[‘uid‘] = null === $uid ? ‘‘ : $uid;
        }
        return $ret;
    }

 

PHP-数组函数

标签:

原文地址:http://www.cnblogs.com/bai-jimmy/p/4430670.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!