PHP列表一次性读取字段信息

/**
  * 取回一个相关数组,第一个字段值为码,第二个字段为值
  * @param int   $field 要寻找的两个字段
  * @param array $where 查询条件
  * @return array
  */
public function fetchPairs($field , $where = array())
{
     $where['terminalId'] = get_terminalId();
     $results = $this->findAll($where,$field);
     $data = array();
     if(is_array($results) && count($results) > 0) {
         foreach ($results AS $value) {
             $data[$value[$field[0]]] = $value[$field[1]];
         }
         return $data;
     } else {
         return false;
     }
}

/**
* 获取二维数组中的某个键值,并键值唯一
* @param array $input 二维数组
* @param string $columnKey 数组的键
* @param string $indexKey  数组的索引
+----------------------------------------------------------
* @return array 返回的值
+----------------------------------------------------------
*/
function array_column_unique(array $input, $columnKey, $indexKey = null) {
    return array_unique(array_column($input, $columnKey, $indexKey));
}

调用方法
protected function _format($list){
    
        //获取招生专业信息
        $specIds = array_column_unique($list,"specId");
        count($specIds) && $specData = D('Huaqin/Specialty')->fetchPairs(array('id', 'ZYMC'), array( "id"=>array("in", $specIds)));
    
        //学制数据
        $xuezhiIds = array_column_unique($list, "XZ");   
        count($xuezhiIds) && $xuezhiData = D('Huaqin/Xuezi')->fetchPairs(array('id', 'XZMC'), array("id"=>array("in", $xuezhiIds)));
    
        foreach( $list as &$value ){
            $value['ZYMC'] = $specData[ $value['specId']];
            $value['XZMC'] = $xuezhiData[ $value['XZ']];
        }
        return $list;
    }
 


   /**
         * 取回一个相关数组,第一个字段值为码,第二个字段为值
         * @param array   $field 要寻找的两个字段array('字段1','字段2')
         * @param array $where 查询条件
         * @return array
         */
        public function fetchPairs($field , $where = array())
        {
            $where['terminalId'] = get_terminalId();
            $results = $this->findAll($where,$field);
            $data = array();
            if(is_array($results) && count($results) > 0) {
                foreach ($results AS $value) {
                    $data[$value[$field[0]]] = $value[$field[1]];
                }
                return $data;
            } else {
                return false;
            }
        }


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值