Ich habe hier einige ähnliche Probleme gelesen, finde aber leider die Lösung für meinen Fall.
Ein Teil der Ausgabe für eine API-Verbindung ist wie folgt:
stdClass Object (
[page] => 0
[items] => 5
[total] => 5
[saleItems] => stdClass Object (
[saleItem] => Array (
[0] => stdClass Object (
[reviewState] => approved
[trackingDate] => 2013-11-04T09:51:13.420+01:00
[modifiedDate] => 2013-12-03T15:06:39.240+01:00
[clickDate] => 2013-11-04T09:06:19.403+01:00
[adspace] => stdClass Object (
[_] => xxxxx
[id] => 1849681
)
[admedium] => stdClass Object (
[_] => Version 3
[id] => 721152
)
[program] => stdClass Object (
[_] => yyyy
[id] => 10853
)
[clickId] => 1832355435760747520
[clickInId] => 0
[amount] => 48.31
[commission] => 7.25
[currency] => USD
[gpps] => stdClass Object (
[gpp] => Array (
[0] => stdClass Object (
[_] => 7-75
[id] => z0
)
)
)
[trackingCategory] => stdClass Object (
[_] => rers
[id] => 68722
)
[id] => 86erereress-a9e4-4226-8417-a46b4c9fd5df
)
)
)
)
Einige Zeichenfolgen enthalten keine gpps-Eigenschaft.
Was ich getan habe, ist wie folgt
foreach($sales->saleItems->saleItem as $sale)
{
$status = $sale->reviewState;
if(property_exists($sale, gpps))
{
$subId = $sale->gpps->gpp[0]->_;
}else{
$subId = "0-0";
}
}
Was ich will, ist, dass die gpps-Eigenschaft nicht in dieser Zeichenfolge enthalten ist $ subId gespeichert als 0-0 in db, andernfalls die Daten aus der Zeichenfolge abrufen. Aber es bekommt die Saiten nicht ohne gpps.
Wo ist mein Fehler?
versuchen zu benutzen isset($sale->gpps)
– Ilja Bursov
4. Dezember 2013 um 20:53 Uhr
das bedeutet, dass Sie es falsch verwendet haben, verwenden
isset
und vielleichtempty
um die Situation zu überprüfen, wenn die Eigenschaft festgelegt ist, aber keine Elemente hat– Ilja Bursov
4. Dezember 2013 um 20:58 Uhr
versuche property_exists($sale, ‘gpps’)
– Quellbrune
4. Dezember 2013 um 21:06 Uhr
@june8 Wenn Isset nicht funktioniert hat, müssen Sie es falsch verwenden.
– Chiffre
4. Dezember 2013 um 21:10 Uhr
Wenn ich isset($sale->gpps) oder property_exists($sale, ‘gpps’) verwende, ändere ich nur diesen Teil meines Codes, den ich oben geschrieben habe. Stimmt etwas mit dem Rest des Codes nicht? Denn keiner von ihnen funktioniert
– juni8
4. Dezember 2013 um 21:14 Uhr