2016-04-02 4 views
1

Mein Problem ist in meinem Code Ich habe Probleme mit der Berechnung etwas mit einer Variablen, die nicht existiert manchmal und einige Male.Eine Variable erhalten, die manchmal existiert und nicht zu anderen Zeiten

Ich will es mir Zahl der Todesfälle zurück geben, wenn sie leer ist ‚0‘, wenn mich nicht druckt, was in der Variablen ist, aber aus irgendeinem Grund bekomme ich diese:

E_NOTICE: Typ 8 - Nicht definiert Immobilie: stdClass :: $ numDeaths - bei Linie 66 E_WARNING: Typ 2 - Division durch Null - in Zeile 71

hier ist mein Code:

<?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 ; 
    } 
?> 

Antwort

0

Y ou müssen überprüfen, ob der Wert vorhanden sind:

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

, die nicht so funktioniert, wenn es existiert, tut es stattdessen eine Zufallszahl drucken aus 0 –

+0

Weil Sie hinzufügen müssen '} else {$ gamemodedeathz = 0; } 'und wenn der Wert 0 ist, versuchen Sie NICHT, durch sie zu teilen, weil Sie das bekommen ** Division durch Null ** Fehler –

+0

Danke für die Hilfe –

Verwandte Themen