dans une page PHP, j'ai suivi du code suivant:
if($_REQUEST['c']!="") // I get error on this line itself. Why? { $pidis=(int)($_REQUEST['c']); }
6 Réponses :
Vous obtenez cette erreur parce que vous essayez de comparer $ _ demande ['c'] code> à quelque chose lorsque
$ _ demande ['C'] code> n'existe pas. La solution consiste à utiliser Isset () avant de le comparer. Cela supprimera l'avertissement, car la comparaison ne se produira pas si
$ _ demande ['C'] code> n'existe pas. P>
if(isset($_REQUEST['c']) && $_REQUEST['c']!="")
{
$pidis=(int)($_REQUEST['c']);
}
php donne un avis (qui n'est pas une erreur: c'est juste un avis) em> lorsque vous essayez d'utiliser une variable qui n'existe pas, ou un élément de tableau qui n'existe pas . Ceci est juste pour vous aider, et vous ne devez pas masquer ces avis: ils sont là pour vous aider - par exemple, vous aider à détecter des fautes de frappe dans des noms variables. P> Avant d'utiliser ce tableau Index, s'il n'est pas toujours présent, vous devez tester si c'est ici, en utilisant isset code>
: p>
au lieu de La différence entre les deux méthodes est que isset () code>
Vous pouvez également utiliser: array_key_exists () code> A>.
isset () code> vérifie également si la valeur de la variable est
null code>. Si c'est
null code>, puis
isset code> renvoie
false code> tandis que
array_key_exists () code> retourne toujours
vrai code> Si la clé existe (pas de mater quelle valeur). E.:
$array = array('c' => null);
var_dump(isset($array['c']))); // isset() returns FALSE here
var_dump(array_key_exists($array['c']); //array_key_exists() returns TRUE
p>Depending sur le contexte, il est important de distinguer cela. Dans votre cas, je ne pense pas que cela compte n'a pas d'importance, comme (je suppose) un paramètre de demande ne sera jamais null code> (sauf l'écrase manuellement). P> P>
Une autre solution consiste à utiliser ce qui suit: Vous pouvez également, si vous préférez renvoyer une valeur autre que vide, en plaçant une valeur par défaut dans l'ensemble final de guillemets simples, par exemple p> ou renvoyer un type de variable différent, par exemple un entier: p>
Netty Way pourrait être:
$pidis = $_REQUEST['c'] ?? null
La balise
ne demande pas code> est false ce que j'avais réellement types est la suivante:
_ demande code>. Pourquoi la requête
_ _ _ (code> Tag est convertie en requête 'non
code>' quand nous posterons?