首先,代码:
for($j = 0; $j < 5; $j++) {
$rgames[$j] = array();
for($i = 0; $i < 10; $i++) {
array_push($rgames[$j], array($json[$j]->games[$i]->stats->championsKilled, $json[$j]->games[$i]->stats->numDeaths));
}};
json[0]到[4]包含5个数组,其中包含10个以上的数组,用于每个玩家过去10场游戏的数据。从上面的代码中,所有的东西都被正确地提取和组织起来,这是一个小问题。为了带宽的利益,我使用的API只返回非空值,所以我在这里和那里使用了一些NULL。我需要找到这些并将其更改为零,这样我就有了合适的显示内容,这样我的错误日志就不会再对我抱怨了。
我希望我已经提供了足够的信息。我大约两周前才学会PHP,所以我仍在努力掌握它的窍门。谢谢你提供的任何信息!
编辑:下面答案中的最终代码。
如果我理解正确,$json[$j]->games[$i]->stats->championsKilled
和$json[$j]->games[$i]->stats->numDeaths
是有时会变成null的变量吗?如果是这样,您可以检查null并设置0。
/* shorthand if/else in array */
array_push($rgames[$j], array(
(isset($json[$j]->games[$i]->stats->championsKilled)) ? $json[$j]->games[$i]->stats->championsKilled : 0,
(isset($json[$j]->games[$i]->stats->numDeaths)) ? $json[$j]->games[$i]->stats->numDeaths : 0
));
或者,如果变量应该是整数,则可以使用intval将它们转换为整数。如果它们已经是整数,则没有任何变化。如果它们为null或为空,则变为0。
array_push($rgames[$j], array(
intval($json[$j]->games[$i]->stats->championsKilled),
intval($json[$j]->games[$i]->stats->numDeaths)
));
在更改了@Samutz的一些代码后,我能够想出最后一个代码:
for($j = 0; $j < 5; $j++) {
$rgames[$j] = array();
for($i = 0; $i < 10; $i++) {
array_push($rgames[$j], array(isset($json[$j]->games[$i]->stats->championsKilled) ? $json[$j]->games[$i]->stats->championsKilled : 0, isset($json[$j]->games[$i]->stats->numDeaths) ? $json[$j]->games[$i]->stats->numDeaths : 0, isset($json[$j]->games[$i]->stats->assists) ? $json[$j]->games[$i]->stats->assists : 0, empty($json[$j]->games[$i]->stats->win) ? "Loss" : "Win"));
}};
谢谢大家!