ぅ初秋 发表于 2021-6-11 16:23

【php】王者全英雄最低战区战力查询

本帖最后由 ぅ初秋 于 2021-6-11 18:05 编辑

最近看见个新的王者查战力接口还带有ios区的战力。
但是缺点是要每次打名字去查,要一个个去输入,或者说是一次次的去获取。
像我这种懒癌晚期的王者爱好者,宁愿用那时间去多打打两把。
于是就整了这小玩意一次拿所有英雄的战力。
鉴于有小伙伴想要指定区的,我修改了下代码。

<?php
        $url = 'https://pvp.qq.com/web201605/js/herolist.json';
        $str = file_get_contents( $url );
        $get_Data = json_decode( $str,true );
        $list = [];
        foreach($get_Data as $k => $v){
                $urla = 'https://gamehook.top/api/hero/select?hero_name='.$v['cname'];
                $stra = file_get_contents($urla);
                $Data = json_decode($stra,true );
                if($Data['code']==0){
                        $list[$v['cname']] = $Data['data'];
                }
                if($k==3){
                        //break;
                }
        }
        echo '<style type="text/css">
        tr{
                border: 2px solid
        }
        th{
                border: 2px solid
        }
        td{
                border: 2px solid
        }
        </style>';
        echo '<table>';
        echo '<thead>';
        echo '<tr>';
        echo '<th></th>';
        echo '<th colspan="3">安卓-qq</th>';
        echo '<th colspan="3">安卓-wx</th>';
        echo '<th colspan="3">IOS-qq</th>';
        echo '<th colspan="3">IOS-wx</th>';
        echo '</tr>';
        echo '<tr>';
        echo '<th>英雄</th>';
        echo '<th>县标</th>';
        echo '<th>市标</th>';
        echo '<th>省标</th>';
        echo '<th>县标</th>';
        echo '<th>市标</th>';
        echo '<th>省标</th>';
        echo '<th>县标</th>';
        echo '<th>市标</th>';
        echo '<th>省标</th>';
        echo '<th>县标</th>';
        echo '<th>市标</th>';
        echo '<th>省标</th>';
        echo '</tr>';
        echo '</thead>';
        echo '<tbody>';
        $area                = '';//你想要的区
        $city                = '';//你想要的市
        $province        = '';//你想要的省
                if(empty($area) && empty($city) && empty($province) ){
                        foreach($list as $ks => $vs){
                                echo '<tr>';
                                echo '<td>'.$vs['hero_name'].'</td>';
                                echo '<td>'.$vs['qq_area'].':'.$vs['qq_area_power'].'</td>';
                                echo '<td>'.$vs['qq_city'].':'.$vs['qq_city_power'].'</td>';
                                echo '<td>'.$vs['qq_province'].':'.$vs['qq_province_power'].'</td>';
                                echo '<td>'.$vs['wx_area'].':'.$vs['wx_area_power'].'</td>';
                                echo '<td>'.$vs['wx_city'].':'.$vs['wx_city_power'].'</td>';
                                echo '<td>'.$vs['wx_province'].':'.$vs['wx_province_power'].'</td>';
                                echo '<td>'.$vs['ios_qq_area'].':'.$vs['ios_qq_area_power'].'</td>';
                                echo '<td>'.$vs['ios_qq_city'].':'.$vs['ios_qq_city_power'].'</td>';
                                echo '<td>'.$vs['ios_qq_province'].':'.$vs['ios_qq_province_power'].'</td>';
                                echo '<td>'.$vs['ios_wx_area'].':'.$vs['ios_wx_area_power'].'</td>';
                                echo '<td>'.$vs['ios_wx_city'].':'.$vs['ios_wx_city_power'].'</td>';
                                echo '<td>'.$vs['ios_wx_province'].':'.$vs['ios_wx_province_power'].'</td>';
                                echo '</tr>';
                        }
                }else{
                        foreach($list as $ks => $vs){
                                if($vs['qq_area']== $area || $vs['wx_area']== $area || $vs['ios_qq_area']== $area || $vs['ios_wx_area']== $area || $vs['qq_city']== $city || $vs['wx_city']== $city || $vs['ios_qq_city']== $city || $vs['ios_wx_city']== $city || $vs['qq_province']== $province || $vs['wx_province']== $province || $vs['ios_qq_province']== $province || $vs['ios_wx_province']== $province){
                                        echo '<tr>';
                                        echo '<td>'.$vs['hero_name'].'</td>';
                                        echo '<td>'.$vs['qq_area'].':'.$vs['qq_area_power'].'</td>';
                                        echo '<td>'.$vs['qq_city'].':'.$vs['qq_city_power'].'</td>';
                                        echo '<td>'.$vs['qq_province'].':'.$vs['qq_province_power'].'</td>';
                                        echo '<td>'.$vs['wx_area'].':'.$vs['wx_area_power'].'</td>';
                                        echo '<td>'.$vs['wx_city'].':'.$vs['wx_city_power'].'</td>';
                                        echo '<td>'.$vs['wx_province'].':'.$vs['wx_province_power'].'</td>';
                                        echo '<td>'.$vs['ios_qq_area'].':'.$vs['ios_qq_area_power'].'</td>';
                                        echo '<td>'.$vs['ios_qq_city'].':'.$vs['ios_qq_city_power'].'</td>';
                                        echo '<td>'.$vs['ios_qq_province'].':'.$vs['ios_qq_province_power'].'</td>';
                                        echo '<td>'.$vs['ios_wx_area'].':'.$vs['ios_wx_area_power'].'</td>';
                                        echo '<td>'.$vs['ios_wx_city'].':'.$vs['ios_wx_city_power'].'</td>';
                                        echo '<td>'.$vs['ios_wx_province'].':'.$vs['ios_wx_province_power'].'</td>';
                                        echo '</tr>';
                                }
                        }
                }
        echo '</tbody>';
        echo '</table>';
       
效果图示:
https://www.hualigs.cn/image/60c31cfb1cc79.jpg

如果$area、$city、$province这三个值为空的情况下默认展示所有。如果有填目标地址的话,者只展示想筛选的区。
例如我这里的区设置了“工布江达县”,则图示如下:

https://www.hualigs.cn/image/60c334fe5cd89.jpg
样式可能有些紧凑,要是有哪位有好的优化建议可以提。一定虚心接受。
ps:接口也是我找到分享的,并不是我的,如果后面不能用了勿喷。

hqt 发表于 2021-6-12 09:39

ぅ初秋 发表于 2021-6-12 07:15
为什么源码出来了。你文件全部截图我看下。

$url = 'https://pvp.qq.com/web201605/js/herolist.json';
$str = file_get_contents( $url );
$get_Data = json_decode( $str,true );
$list = [];
foreach($get_Data as $k => $v){
    $urla = 'https://gamehook.top/api/hero/select?hero_name='.$v['cname'];
    $stra = file_get_contents($urla);
    $Data = json_decode($stra,true );
    if($Data['code']==0){
      $list[$v['cname']] = $Data['data'];
    }
    if($k==3){
      //break;
    }
}
echo '<style type="text/css">
tr{
    border: 2px solid
}
th{
    border: 2px solid
}
td{
    border: 2px solid
}
</style>';
echo '<table>';
echo '<thead>';
echo '<tr>';
echo '<th></th>';
echo '<th colspan="3">安卓-qq</th>';
echo '<th colspan="3">安卓-wx</th>';
echo '<th colspan="3">IOS-qq</th>';
echo '<th colspan="3">IOS-wx</th>';
echo '</tr>';
echo '<tr>';
echo '<th>英雄</th>';
echo '<th>县标</th>';
echo '<th>市标</th>';
echo '<th>省标</th>';
echo '<th>县标</th>';
echo '<th>市标</th>';
echo '<th>省标</th>';
echo '<th>县标</th>';
echo '<th>市标</th>';
echo '<th>省标</th>';
echo '<th>县标</th>';
echo '<th>市标</th>';
echo '<th>省标</th>';
echo '</tr>';
echo '</thead>';
echo '<tbody>';
foreach($list as $ks => $vs){
    echo '<tr>';
    echo '<td>'.$vs['hero_name'].'</td>';
    echo '<td>'.$vs['qq_area'].':'.$vs['qq_area_power'].'</td>';
    echo '<td>'.$vs['qq_city'].':'.$vs['qq_city_power'].'</td>';
    echo '<td>'.$vs['qq_province'].':'.$vs['qq_province_power'].'</td>';
    echo '<td>'.$vs['wx_area'].':'.$vs['wx_area_power'].'</td>';
    echo '<td>'.$vs['wx_city'].':'.$vs['wx_city_power'].'</td>';
    echo '<td>'.$vs['wx_province'].':'.$vs['wx_province_power'].'</td>';
    echo '<td>'.$vs['ios_qq_area'].':'.$vs['ios_qq_area_power'].'</td>';
    echo '<td>'.$vs['ios_qq_city'].':'.$vs['ios_qq_city_power'].'</td>';
    echo '<td>'.$vs['ios_qq_province'].':'.$vs['ios_qq_province_power'].'</td>';
    echo '<td>'.$vs['ios_wx_area'].':'.$vs['ios_wx_area_power'].'</td>';
    echo '<td>'.$vs['ios_wx_city'].':'.$vs['ios_wx_city_power'].'</td>';
    echo '<td>'.$vs['ios_wx_province'].':'.$vs['ios_wx_province_power'].'</td>';
    echo '</tr>';
}
echo '</tbody>';
echo '</table>';

ぅ初秋 发表于 2021-6-11 16:56

mangod 发表于 2021-6-11 16:48
比如说    广东   深圳   福田区这样子..............

这只是获取最低的战区,并没有获取这个战区的所有战力啊,你要你所在的区,直接开王者的战力榜不就有了吗

mangod 发表于 2021-6-11 16:47

这个怎么改成自己想要的城市呢

mangod 发表于 2021-6-11 16:48

比如说    广东   深圳   福田区这样子..............

hqt 发表于 2021-6-11 17:19

PHP几的?

ぅ初秋 发表于 2021-6-11 17:23

hqt 发表于 2021-6-11 17:19
PHP几的?

我用的5.6,高级的用没啥冲突的关键字吧

8204118 发表于 2021-6-11 17:24

战力不好玩,几下子就被搞

ぅ初秋 发表于 2021-6-11 17:25

8204118 发表于 2021-6-11 17:24
战力不好玩,几下子就被搞

是的,所以我选把所有颜色都大红,

微笑阿丶 发表于 2021-6-11 17:41

这个可以更改代码区域?

ぅ初秋 发表于 2021-6-11 17:43

微笑阿丶 发表于 2021-6-11 17:41
这个可以更改代码区域?

什么意思?

页: [1] 2 3
查看完整版本: 【php】王者全英雄最低战区战力查询