Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

Sujet : Réaction inattendue de Empty [ Divers / Général ] (codefalse)

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é 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

Juillet 2009
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
2728293031  

Consulter la suite du CalendriCode

Comparez les prix Nouvelle version

Photothèque Nouveau !



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
Temps d'éxécution de la page : 0,515 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.