Je vais avoir un moment difficile avec celui-ci, j'ai une classe qui remplit un tableau.PHP Strange situation nulle variable
Parfois, le tableau ne sera pas rempli et je veux faire un casse-case pour quand cela arrive mais je ne peux pas sembler dire quand son null! Voici le code:
$results_dev = $class->get_data_nologin("4a9d-4f41-9566-7705",$key,"Sensors");
echo "something";
print_r($results_dev);
if(is_null($results_dev))
{
echo "thisisNULL";
$counter--;
}
« quelque chose » ne se laisse en écho, mais quand je print_r $ results_dev, elle imprime « null » et l'instruction if exécute jamais! J'ai aussi essayé
if(!$results_dev)
et
if($results_dev == "null")
et
if($results_dev == null)
Mais il ne fonctionne toujours pas ce qui est dans exercerai la boucle si, comment pourrais-je vérifier? BTW: ma classe boucle une API et récupère un JSON, mais parfois l'URL est incorrecte dans curl afin qu'elle renvoie null. Ce qui est encore pire est après que j'ai ceci:
if($results_dev['location'])
{
echo "data".$results_dev['location'];
Et il s'exécute même quand son null! Il imprime des "données" et absolument rien après. Code
pour get_data_nologin:
$url = 'https://api.url/'.$scf.'/'.$deviceid.'?key='.$apikey;
$curl_handle = curl_init();
curl_setopt($curl_handle, CURLOPT_URL, $url);
curl_setopt($curl_handle, CURLOPT_SSL_VERIFYPEER, FALSE);
curl_setopt($curl_handle, CURLOPT_CONNECTTIMEOUT, 2);
curl_setopt($curl_handle, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($curl_handle, CURLOPT_COOKIEJAR, $cookie_file_path);
curl_setopt($curl_handle, CURLOPT_COOKIEFILE, $cookie_file_path);
$buffer = curl_exec($curl_handle);
curl_close($curl_handle);
if (empty($buffer))
{
echo 'Something went wrong :(';
}
else
{
$decodedBuffer = json_decode($buffer, TRUE);
return $decodedBuffer;
}
Pouvez-vous nous montrer le code '$ class-> get_data_nologin'? –
Si le résultat de l'appel de fonction est en fait la valeur 'NULL', votre code devrait fonctionner - voir http://www.ideone.com/hBYk5. –
Le code json_decode peut-être ne pas envoyer une vraie valeur NULL? –