将数据库查出的数据,做一定处理再列出。

例:查询到数据库的state字段,0是不通过,1是已通过,2是待审核。写好这个函数,直接调用此函数,就可以了。

以下是函数。

/**
 * 将列表数据做一定的处理,例:时间格式化、图片加路径、处理空字段等..
 * $list: 要处理的列表数据
 **/
function processing_list($list)
{
    foreach ($list as $k => $row) {
        $list[$k] = processing_row($row);
    }
    return $list;
}

function processing_detail($list)
{
    $list = processing_row($list);
    return $list;
}

function processing_row($row)
{
    //图片字段
    $imgFieldArr = array('avatar','avatars', 'image', 'preview', 'cover', 'covers', 'images', 'logo', 'notice_cover');
    //时间字段
    $timeFieldArr = array('create_time', 'update_time');
    
    $strImgArr    = array('img');
    
    $stateArr = array('state');
    
    $format       = 'Y-m-d H:i:s';
    foreach ($imgFieldArr as $key) {
        if (isset($row[$key])) {
            $row[$key] = '/upload/path/'.$row[$key];//加路径
        }
    }

    foreach ($timeFieldArr as $key) {
        if (isset($row[$key])) {
            $row[$key] = Date($format,$row[$key]);//时间格式化
        }
    }

    foreach ($stateArr as $key) {//状态处理
        if (isset($row[$key])) {
            if($row[$key]==0){
                $row['state_name'] = '不通过';
            }elseif($row[$key]==1){
                $row['state_name'] = '已通过';
            }elseif($row[$key]==2){
                $row['state_name'] = '待审核';
            }
        }
    }
    
    return $row;
}

调用的话,如果是多维数组

$data = processing_list($sql_data);

如果是单一数组

$data = processing_detail($sql_data);