【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:接口也是我找到分享的,并不是我的,如果后面不能用了勿喷。
ぅ初秋 发表于 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>'; mangod 发表于 2021-6-11 16:48
比如说 广东 深圳 福田区这样子..............
这只是获取最低的战区,并没有获取这个战区的所有战力啊,你要你所在的区,直接开王者的战力榜不就有了吗
这个怎么改成自己想要的城市呢
比如说 广东 深圳 福田区这样子.............. PHP几的? hqt 发表于 2021-6-11 17:19
PHP几的?
我用的5.6,高级的用没啥冲突的关键字吧
战力不好玩,几下子就被搞 8204118 发表于 2021-6-11 17:24
战力不好玩,几下子就被搞
是的,所以我选把所有颜色都大红,
这个可以更改代码区域? 微笑阿丶 发表于 2021-6-11 17:41
这个可以更改代码区域?
什么意思?