begin process at 2010 03 19 04:33:09
  Trouver un code source :
 
dans
 
Accueil > Forum > 

PHP

 > 

Divers

 > 

Général

 > 

Réaction inattendue de Empty


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Réaction inattendue de Empty

mardi 20 mai 2008 à 17:48:17 | Réaction inattendue de Empty

codefalse

Administrateur CodeS-SourceS
Yop tout le monde :)
J'ai un drole de soucis avec la fonction empty, j'aimerai comprendre pourquoi.

Voici ma situation.
J'ai une classe de ce genre :

<?php
class Values {
    private $_aValues = array ();
   
    public function __set ($sKey, $mValue) {
        $this->_aValues[$sKey] = $mValue;
    }
   
    public function __get ($sKey) {
        if (isset ($this->_aValues[$sKey]))
            return (is_string ($this->_aValues[$sKey])) ? utf8_encode ($this->_aValues[$sKey]) : $this->_aValues[$sKey];
       
        return null;
    }
}
?>

Ensuite je fait des
<?php
$mc = new Values ();
$mc->val1 = "val1";
$mc->val2 = "val2";
$mc->val3 = "";
?>

Maintenant, un var_dump (empty ($mc->val1)); me retourne TRUE.

Pourquoi ?????

Merci de votre aide :)

[ Lien ]
mardi 20 mai 2008 à 18:16:14 | Re : Réaction inattendue de Empty

nicomilville

Membre Club

Salut,

As tu mis la condition avant ou après :

$mc = new Values ();
$mc->val1 = "val1";
$mc->val2 = "val2";
$mc->val3 = "";

car si tu l'a mis avant la valeur n'est pas encore assigné par contre si tu l'a mis après très bonne question a laquelle je n'ai pas de réponse pour l'instant !

a++

mardi 20 mai 2008 à 18:22:02 | Re : Réaction inattendue de Empty

codefalse

Administrateur CodeS-SourceS
Elle à été mise apres :)
si je fait
<?php
var_dump ($mc->val1); // j'obtiens string (4) "val1"
// Puis ensuite :
var_dump (empty ($mc->val1)); // j'obtiens boolean (true)
?>


[ Lien ]
mardi 20 mai 2008 à 18:59:56 | Re : Réaction inattendue de Empty

nicomilville

Membre Club
ba je sais pas alors, désolé !

Je suis sur que tu va trouver une solution ;-)

a++
mardi 20 mai 2008 à 19:41:52 | Re : Réaction inattendue de Empty

malalam

Administrateur CodeS-SourceS
Hello,

tu n'as jamais eu une erreur disant "cannot use function return in write context" ou un truc dans le genre ? Par exemple si tu fais :
empty(trim('toto'));
Ca ne marchera pas.
C'est pareil pour un getter. empty() n'est pas capable de traiter un retour de fonction dans certains contextes. Sauf que là, tu n'as pas d'erreur et empty() renvoie true en effet. J'en ai déjà fait l'expérience. La seule parade est d'assigner les propriétés "gettées" à une variable tierce pour l'utiliser dans le empty.
mardi 20 mai 2008 à 21:33:01 | Re : Réaction inattendue de Empty

codefalse

Administrateur CodeS-SourceS
C'est ce qui me semblait. J'ai testé un appel de fonction dans le empty et j'ai eu cette erreur de "cannot use function return in write context".
En passant par une variable tierce, empty fonctionnait. Bon du coup je fait un if ($mc->val1 != '') et hop ca marche.

Bon alors il n'y a pas de solutions :)

Merci de vos aides :)

[ Lien ]


Cette discussion est classée dans : mc, empty, avalues, val1, skey


Répondre à ce message

Sujets en rapport avec ce message

vider le contenu d'un fichier [ par Clonk ] Bonjour,Ne pouvant pas utiliser de BDD, je dois me contenter d'un fichier texte pour mes référencements, le problème est que, si j'arrive à écrire et Question MySQL [ par mightteam ] j'ai fait mon moteur de recherche mais je voudrais limité le nombre de resultats a afficher par page quel commande dois-je utiliser?ma requète est la form2mail error :'( [ par SpiritAnghell ] Bon voila je suis tjs avec mon pb de formulaire form2mail... Voila g le code ci-dessous ils me retournent l'erreur suivante: Parse error: parse error Aide SVP - formulaire avec upload [ par jmobylette ] Bonjour ! J'ai réussi à faire un formulaire avec fichier joint et voilà el code que j'ai donc en page verif.php :// Configuration Générale< Probleme d'INSERT qui insert rien du tout [ par starskyb ] salut,j'ai fais ce ptit script (non ce n'est pas un vrai programme juste de l'entrainement) et cette commande devrait ajouter quelques chose a la base 2 actions :-( [ par Blacknight91titi ] Salutvoila j'ai un problèmej'ai crée un formulairepuis ajouter un code pour vérifier que les champs soit rempli correctementmasi le problème est que c Problèmes avec switch en php [ par tenrod ] Salut a tous!je me galere avec un pti switch en php en fait j'ai une liste déroulante et selon ce que je sélectionne dans ma liste je voudrai que ça e formulaire avec piece jointe probleme [ par ggsecours ] BonjourJe debute plus ou moins en php mais j'ai déjà un bon formulaire assez costau avec verification des champs pour envoie par mail mais le seul pro pb de recherche [ par neotetsuo34 ] Je n'arrive pas a rechercher des infos dans ma base que je tire d'un formulaire, je dois avoir un pb de requete ou de syntaxe. Je vous montre mon code session, votre code a vous [ par fabienfsf ] Hello world,Je voudrai faire une session avec une variable nom et tout cke je veux faire c'est une page qui affiche le résultat si yen a un et un bout


Nos sponsors


Sondage...

CalendriCode

Mars 2010
LMMJVSD
1234567
891011121314
15161718192021
22232425262728
293031    

Consulter la suite du CalendriCode

Photothèque

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,952 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales