2017-01-03 16 views
0

Ich habe den folgenden Code, der eine Reihe von Ergebnissen zurück aus einer API zurückgibt, alles innerhalb "" funktioniert, aber die booleschen Werte, die nicht "" nicht zurückgeben, gibt es etwas im Code dafür fehlt ??PHP Curl Return Boolescher Wert

$curl = curl_init(); 
curl_setopt_array($curl, array(
    CURLOPT_URL => "URL", 
    CURLOPT_RETURNTRANSFER => true, 
    CURLOPT_ENCODING => "", 
    CURLOPT_MAXREDIRS => 10, 
    CURLOPT_TIMEOUT => 30, 
    CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1, 
    CURLOPT_CUSTOMREQUEST => "GET", 
    CURLOPT_HTTPHEADER => array(
     "authorization: KEY" 
    ), 
)); 

$response = curl_exec($curl); 
$err = curl_error($curl); 
curl_close($curl); 

$json_a2 = json_decode($response, true); 

Was zurück von der API zurückgegeben worden ist

"VehicleRegistration": { 
     "DateOfLastUpdate": "2014-12-19T00:00:00", 
     "Colour": "BLACK", 
     "AbiBrokerNetCode": null, 
     "EngineCapacity": "1598", 
     "TransmissionCode": "M", 
     "DtpMakeCode": "DF", 
     "Exported": false, 
     "YearOfManufacture": "2014", 
     "WheelPlan": null, 
     "DateExported": null, 
     "Scrapped": false, 
} 

Der falsche zeigt nicht, wenn ich die Ergebnisse zurück.

+0

das folgende Komma nach 'false' macht das JSON ungültig. Können Sie genau angeben, was Sie von der API erhalten haben? – Blazemonger

+1

'false' und' true' ohne Anführungszeichen sind absolut gültig. – DanFromGermany

+3

Meine Kristallkugeln legen nahe, dass Sie JSON dekodiert haben und versucht haben, boolesche Werte zu "echo", die natürlich als String ''1'' und'' '' (leere Zeichenfolge) darstellen, weil PHP so ist. –

Antwort

0

Das falsche wird nicht angezeigt, da php immer einen booleschen falschen Wert als leere Zeichenfolge anzeigen wird.

In PHP sind false, null, leere Zeichenfolge und 0 alle gleich falsch.

Wenn Sie überprüfen müssen, um zu sehen, ob Ihr var wirklich falsch ist und nicht andere dann verwenden:

$my_var === false; 

oder

false === $my_var; 

Hinweis triple gleich