PHP多维排序 PHP>7 unsort()

$pre_show=[
    ["value"=>8,"name"=>"name","cn"=>"股票名称"],
    ["value"=>2,"name"=>"code","cn"=>"股票代码"],
    ["value"=>7,"name"=>"price","cn"=>"股票价格"],
    ["value"=>4,"name"=>"xadd","cn"=>"涨跌"],
    ["value"=>5,"name"=>"add_pre","cn"=>"涨幅"],
    ["value"=>6,"name"=>"hand","cn"=>"换手数"],
    ["value"=>3,"name"=>"money","cn"=>"成交额"],
    ["value"=>1,"name"=>"percent","cn"=>"换手率"],
    ["value"=>9,"name"=>"all_money","cn"=>"市值"]
];

// 按 value 升序排序(推荐:PHP7+ 简洁写法)
usort($pre_show, function($a, $b) {
    return $a['value'] - $b['value']; // 升序:a-b,降序:b-a
});

// 打印排序结果(验证)
var_dump($pre_show);
发表在 None | 留下评论

thinkphp thinkcmf 惰加载 with hasOne hasMany

$info=$xModel->select()
$info=$xModel->with(“bxx”)->select()
区别在于在$info在返回后是否使用bxx,如果不使用的化 不用with的将不会关联 即惰加载,减少数据库的IO

TAG:关联可以采用非主键关联


hasOne 关联单数组

默认hasOne关联的是第一条数据,即最老的数据

hasMany关联数组-数组

A: return $this->hasOne(HistroyModel::class,”code”,’code’)->order(‘create_time’,’desc’);
B: return $this->hasMany(HistroyModel::class,”code”,’code’)->order(‘create_time’,’desc’)->limit(1);

上面两个都可以返回关联的最新一条但是结构不同

A[xxxx]

B[[xxxx]]

发表在 None | 留下评论

php curl

1.先初始化 curl_init() 变量

2.设置变量的 URL header 超时 DNS curl_setopt()

3.执行 curl_exec()

4.检查执行结果

5.关闭curl curl_close()

    $ch = curl_init();
    
    // 设置 CURL 核心参数
    curl_setopt($ch, CURLOPT_URL, $url);
    // 将结果返回而不是直接输出
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
    // 模拟浏览器 User-Agent(和原代码一致)
    curl_setopt($ch, CURLOPT_USERAGENT, 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/122.0.0.0 Safari/537.36');
    
    // ========== 针对你纽约VPS的关键优化 ==========
    // 连接超时(重点!比原代码的10秒短,避免卡死)
    curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 2);
    // 总请求超时(建议3秒内,比原10秒更合理)
    curl_setopt($ch, CURLOPT_TIMEOUT, 3);
    // 启用DNS缓存,避免重复解析域名拖慢速度
    curl_setopt($ch, CURLOPT_DNS_USE_GLOBAL_CACHE, true);
    // 关闭TCP延迟,提升传输速度
    curl_setopt($ch, CURLOPT_TCP_NODELAY, true);
    // 禁用SSL验证(因为你用的是http,这行只是兜底,防止后续改https出问题)
    curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
    curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false);
    $response = curl_exec($ch);
    if ($response === false) {
            $errorMsg = curl_error($ch);
            $errorCode = curl_errno($ch);
            throw new Exception("CURL请求失败 [{$errorCode}]:{$errorMsg}");
        }
            // 保留原有的编码转换逻辑(GBK转UTF-8)
        $utf8Str = mb_convert_encoding($response, 'UTF-8', 'GBK');
        
        // 关闭CURL资源
        curl_close($ch);

发表在 None | 留下评论

python代码块 获取腾讯的股票信息

import requests
import json



def get_url(code="sz002142"):
    url="https://qt.gtimg.cn/q="
    return requests.get(url+code)

q=get_url()

#不分割

def parse_data(code_str):
    rex={}
    code_str = code_str.replace("~~~", "~").replace("~~", "~")
    vsx=code_str.split("~")
    if len(vsx)>10:
        rex['name']=vsx[1]
        rex['code']=vsx[2]
        rex['now']=vsx[3]
        rex['yestday']=vsx[4]
        rex['today_start']=vsx[5]
        rex['done_num']=vsx[6]
        rex['done_money']=vsx[36]
        rex['done_pre']=vsx[37]
        rex['today_max']=vsx[32]
        rex['today_min']=vsx[33]
        rex['time']=vsx[29]
        rex['preg']=vsx[37]
        rex['syl']=vsx[38]
        rex['money']=vsx[68]
        rex['year_max']=vsx[45]
        rex['year_min']=vsx[46]
    return rex

def c_code(num):
    #传入必须为之str 因为 sz为0开头
    str_num=str(num)
    if len(str_num)!=6:
        return False
    if str_num[0:1] in ['0','2','3']:
        return "sz"+str_num
    elif str_num[0:1] in ['6','9']:
        return "sh"+str_num
    elif str_num[0:1] in ['4','8']:
        return "bj"+str_num
    else:
        return False

def c_search_str(num_list):
    str_code=''
    for i in num_list:
        code=c_code(i)
        if code:
            str_code=code+","+str_code
    return str_code
发表在 None | 留下评论

Kindle里面浏览器刷新

使用meta标签可以实现定时刷新无需AJAX和JS

<meta http-equiv=”refresh” content=”3″>

content=3 为3秒刷新一次

发表在 None | 留下评论