获取有时存在的变量,而不是在其他时间存在变量

时间:2016-04-02 15:53:14

标签: php

我的问题出现在我的代码中,我遇到了一些问题,即使用一些不存在的变量来计算某些东西,有时会这样做。

如果空的话,我希望它可以给我一些死亡数字' 0'如果没有打印出变量中的内容,但出于某种原因我得到了这个:

  

E_NOTICE:类型8 - 未定义属性:stdClass :: $ numDeaths - at   第66行E_警告:类型2 - 除以零 - 第71行

这是我的代码:

<?php
$apiKey = 'e9044828-20e3-46cc-9eb5-545949299803';
$summonerName = 'tamini';
$new = rawurlencode($summonerName);

$news = str_replace(' ', '', $summonerName);
$str = strtolower($news);



// get the basic summoner info
$result = file_get_contents('https://euw.api.pvp.net/api/lol/euw/v1.4/summoner/by-name/' . $new . '?api_key=' . $apiKey);
$summoner = json_decode($result)->$str;
$id = $summoner->id;
// var_dump($summoner);
?>    


<?php   
$clawzz = file_get_contents('https://euw.api.pvp.net/api/lol/euw/v1.3/game/by-summoner/' . $id . '/recent?api_key=' . $apiKey);
$gazazz = json_decode($clawzz);
?>


<?php 




$entrieszz = $gazazz->games;
usort($entrieszz, function($ac,$bc){
return $bc->createDate-$ac->createDate;
});


foreach($entrieszz as $statSummaryzz){

$gamemodekillz = $statSummaryzz->stats->championsKilled;

$gamemodedeathz = $statSummaryzz->stats->numDeaths;

$gamemodeassistz = $statSummaryzz->stats->assists;


$kdamatchhistoryeach = ($gamemodekillz + $gamemodeassistz) /    $gamemodedeathz;


   echo '  <br>';

        echo $gamemodekillz;

echo '  <br>';


    if ($gamemodedeathz == 0){

     echo '0';

    }
    else {

    echo $gamemodedeathz ;
    }



echo '  <br>';

        echo $gamemodeassistz;

echo '  <br>';



    if ($gamemodedeathz == 0){

     echo 'Perfect Score';

    }
    else {

    echo $kdamatchhistoryeach ;
    }
?>

1 个答案:

答案 0 :(得分:0)

您需要检查值是否存在:

if( isset($statSummaryzz->stats) && isset($statSummaryzz->stats->numDeaths) ) {
    $gamemodedeathz = $statSummaryzz->stats->numDeaths;
}