我现在正在开发一个API,而且我必须得到一个玩家最后一场比赛得分。通常每场比赛都有ATLEAST 2队或更多。但是我遇到了一个播放列表,整场比赛只有一支球队。
我正在呼吁两队的得分如下:
// Get the Score AND Team ID of First team
$Warzonescore = $warzoneLastMatch->TeamStats[0]->Score;
$WarzonescoreTeamId = $warzoneLastMatch->TeamStats[0]->TeamId;
// Get the Score AND Team ID of Second team
$Warzonescore2 = $warzoneLastMatch->TeamStats[1]->Score;
$Warzonescore2TeamId = $warzoneLastMatch->TeamStats[1]->TeamId;
我的问题是,在一些比赛中,只有一支球队,如果我加载一个球员的玩家,如果那个人只与一种球队比赛(所有球员都在同一支球队),那么给了我这个错误:
未定义的偏移量:1
因为该玩家不存在TeamStats [1]。
如何绕过该API调用并检查该值是否为空,或者是否存在?
我尝试将其插入(if else)语句中,并使用( - > exists(),=== null,!= 0,!="")
答案 0 :(得分:1)
在TeamStats
$Warzonescores = [];
foreach($warzoneLastMatch->TeamStats as $idx => $stats){
$Warzonescores[$idx]['Score'] = $stats->Score;
$warzonescores[$idx]['TeamId'] = $stats->TeamId
}
这似乎是一种更有效,更干净的方法。由于它是一个API,您现在可以对数据进行简单而安全的返回
return response()->json($Warzonescores);