Affecter une fonction à une variable [Résolu]

Messages postés
260
Date d'inscription
jeudi 31 mai 2007
Dernière intervention
5 novembre 2010
- - Dernière réponse : cs_lowkey
Messages postés
260
Date d'inscription
jeudi 31 mai 2007
Dernière intervention
5 novembre 2010
- 26 nov. 2007 à 09:33
Salut à tous.

Un problème se pose à moi et j'aurais besoin de vous pour trouver une petite idée.

Je dois faire un calcul avec une formule qui sort d'une base de donnée. (genre : $total=row[1]; avec $row[1] qui est le résultat d'une requete(ma formule)). Jusque là, pas de problème.

Mais dans certains cas, je souhaiterais avoir des conditions dans ma formule. Et là, problème.

'$total=' est dans mon code donc impossible d'y toucher. Il faudrait donc que je puisse avoir quelque chose du genre
$total= if($a=1){ return 42;};
ou
$total= function p(){ return 42;};

Mais rien de tout ça ne marche.

Quelqu'un aurait un idée?
Jespère que j'ai été assez clair...

Merci d'avance

<hr />
lowkey
Afficher la suite 

Votre réponse

4 réponses

Meilleure réponse
Messages postés
2492
Date d'inscription
jeudi 30 novembre 2006
Dernière intervention
14 janvier 2011
3
Merci
Salut,

Dans ce cas, c'est pas une fonction que tu veux exécuter, mais du code php.
http://fr2.php.net/manual/fr/function.eval.php

:o))

Merci neigedhiver 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources a aidé 105 internautes ce mois-ci

Commenter la réponse de neigedhiver
Messages postés
2492
Date d'inscription
jeudi 30 novembre 2006
Dernière intervention
14 janvier 2011
0
Merci
Salut,

Je pense que cette fonction va te plaire ;)
http://fr2.php.net/manual/fr/function.create-function.php
Commenter la réponse de neigedhiver
Messages postés
260
Date d'inscription
jeudi 31 mai 2007
Dernière intervention
5 novembre 2010
0
Merci
Salut!!

En effet, cette fonction me plait, mais elle ne répond pas vraiment à mes attentes...

J'ai lu la doc et a aucun moment (j'ai pu louper le passage) je n'ai vu qu'il était possible d'avoir quelque chose du genre :
$total=create_function('', 'return 14;');

D'après ce que j'ai vu, on est obligé d'initialiser la fonction et d'y faire appel. Or comme je l'ai mis précedement, je souhaiterais quelque chose du genre :
$total= if($a=1){ return 42;};
ou
$total= function p(){ return 42;};

En simplifié, je voudrais que tout se face en une ligne de code (excepté l'affichage).

Si quelqu'un a une autre idée ou si j'ai loupé quelque chose avec cette fonction, je suis toujours preneur.

<hr />
lowkey
Commenter la réponse de cs_lowkey
Messages postés
260
Date d'inscription
jeudi 31 mai 2007
Dernière intervention
5 novembre 2010
0
Merci
Merci neigedhiver !!

Deuxième fois que tu m'aide grâce à cette fonction. Je vais aller lire sa doc complète.

<hr />
lowkey
Commenter la réponse de cs_lowkey

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.