Pb empty,isset,Null

Fermé
Aucun - 23 juin 2009 à 14:37
Dalida Messages postés 6728 Date d'inscription mardi 14 mai 2002 Statut Contributeur Dernière intervention 11 janvier 2016 - 23 juin 2009 à 18:26
Bonjour,

Voici mon soucis,j'effectue un test pour savoir si une valeur est vide,seulement quand je fait empty ou !isset cela ne fonctionne pas,dans le cas ou je fait ='' cela fonctionne,mais ça me pose des problèmes de laisser ça car j'aurais souvent des notices qui vont apparaître étant donné que je teste ma variable sans avoir verifié auparavant qu'elle existe,voici mon code

for ($ligne = fgetcsv($fic, 1024); !feof($fic); $ligne = fgetcsv($fic, 1024))
{

$j = sizeof($ligne); //J'extrait une ligne d'un fichier excel(pas important pour la suite)
//Sous forme de chaine de caractère



foreach($ligne as $l) //Ensuite je veux tester les premier caractère de cette ligne
{

$ind=0;
while($ind < 9)
{
if(($l[$ind] == '')) //ICI impossible de marquer empty($l[$ind])
{
$Osr=1;
}
$ind++;
}

}


Quelqu'un peut t'il m'expliquer pourquoi je ne peux pas tester avec empty ou isset cette valeur?merci d'avance.Je précise que tout fonctionne correctement,seul le if me pose problème.
A voir également:

3 réponses

Kentin76250 Messages postés 235 Date d'inscription lundi 3 décembre 2007 Statut Membre Dernière intervention 12 novembre 2014 5
23 juin 2009 à 15:18
tu peux faire ca aussi if($nom_varialbe=="")

if (empty($nom_variable))


il marche toutes les deux ^^enfin je les utlise
0
Oui c'est ce que j'expliquais,empty ne fonctionne pas dans ce cas,et ="" va posé des problèmes de notice.D'autres idées?
0
Dalida Messages postés 6728 Date d'inscription mardi 14 mai 2002 Statut Contributeur Dernière intervention 11 janvier 2016 922
23 juin 2009 à 18:26
salut,

tu vérifies d'abord si une valeur est assignée la variable et ensuite tu testes la valeur et le type :
if(isset($l[$ind]) AND $l[$ind] === ''){}
0