php自定义函数

/**
 * 递归查找
 * @param $array
 * @param $searchData
 * @param int $i
 * @param string $objKey
 * @param string $objVal
 * @return int|mixed
 */
function array_search_recursive($array,$searchData,$i = 0,$objKey = '查找的键名',$objVal = '返回的键名')
{
    foreach ($array as $key => $value)
    {
        if ($value[$objKey] == $searchData[$i]) {
            if (count($searchData)-1 > $i && is_array($value['children']) && !empty($value['children'])) {
                return array_search_recursive($value['children'],$searchData,$i+1,$objKey,$objVal);
            } else {
               return $value[$objVal] ? $value[$objVal] : '';
            }
        }
    }
    return '';
}
/**
 * 数组插入
 * @param $array
 * @param $position
 * @param $insert_array
 */
function array_insert (&$array, $position, $insert_array) {
    $first_array = array_splice ($array, 0, $position);
    $array = array_merge ($first_array, $insert_array, $array);
}
/**
 * 处理bootstrap表格合并
 * @param $res [数据源]
 * @param $fieldName ['合并字段']
 * @return array
 */
function mergeCells($res,$fieldName)
{
    $list = array();
    foreach ($res as $key => $value) {
        $index = $value['module_name'];
        $list[$index][] = $res[$key];
    }
    $sortMap = array();
    foreach ($list as $key => $value) {
        $clone = $value;
        foreach ($value as $k => $v) {
            $index= $key.'_'.$v[$fieldName];
            if ($sortMap[$index]) {
                $index = $index.'_'.$k;
            }
            foreach ($clone as $m => $n) {
                if ($v[$fieldName] === $n[$fieldName]) {
                    if (!$sortMap[$index]) {
                        $sortMap[$index] = 1;
                    } else {
                        $sortMap[$index] = intval($sortMap[$index]) + 1;
                    }
                    unset($clone[$m]);
                } else {
                    break;
                }
            }
        }
    }
    return $sortMap;
}

 

posted @ 2019-04-29 14:47  Mr*wang  阅读(118)  评论(0)    收藏  举报