所以我可以访问公共Web API,并且我试图从中提取信息并在PHP if语句中使用它。我尝试了几种不同的方法,但每次失败都有?我会发布所有失败的尝试,看看是否有人知道我做错了什么......
这是JSON文件;
{
"players": [
{
"SteamId": "76561198074117457",
"CommunityBanned": false,
"VACBanned": true,
"NumberOfVACBans": 1,
"DaysSinceLastBan": 738,
"NumberOfGameBans": 0,
"EconomyBan": "none"
}
]
}
尝试使用PHP函数 (php文件)
<?php
function VACBanned($vacban) {
if ($vacban == "false") {
return "";
}
elseif ($vacban == "true") {
return "<p>This user has a vac ban...</p>";
}
}
?>
(索引文件)
<html>
<body>
<?=VACBanned($json['players'][0]['VACBanned']);?>
</body>
</html>
这将输出以下错误;
PHP Notice: Undefined index: players in index.php on line 13
我最初认为API一定不能正确连接,所以我进入了PHP文件并回复了我的用户ID,就像$json["players"][0]["SteamId"];
一样,它起作用了......但当我去尝试执行索引<?php echo $json["players"][0]["SteamId"];?>
中的同样的事情我又得到了错误?当我在php文件$test = $json["players"][0]["SteamId"];
中执行此操作并在索引<?php echo $test;?>
中执行此操作时,它回显了我的蒸汽ID ??????我试着像索引一样调用索引中的if语句
<?php
if ($vac_ban == "false") {
return "123";
}
else {
return "<div class='ban_vac'><p>1 VAC BAN<br>76 Days Ago</p></div>";
}
?>
和$ vac_ban将在php文件中显示为= $json["players"][0]["VACBanned"];
,但这只会使其超出<?
标记之上的所有内容并且不在其下方。 注意在此过程中的整个时间我使用include('filename');
和error_reporting(E_ALL); ini_set("display_errors", 1);
连接了两个文件,json被解码json_decode(file_get_contents($api_url), true);
答案 0 :(得分:0)
在使用PHP之前必须解码json:
$array = json_decode($data, true);
现在你可以做你想做的事了:
VACBanned($array['players'][0]['VACBanned']);
看看:json_decode
答案 1 :(得分:0)
所以,我为可能遇到此问题的任何人解决了这一问题,我只是将PHP代码放入一个文档中,它看起来很杂乱,但有效:)