Fonction dans une fonction

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : Fonction dans une fonction

Re: Fonction dans une fonction

par stopher » 17 sept. 2009, 09:44

Salut ,

As tu regardés au niveau des closures ? ( PHP 5.3 oblige ) qui permet des fonctions à la volé , et réutilisables :-)

Maintenant , je ne sais pas si celà peut résoudre ton probléme :-)

Voici un petit slide qui résume bien je trouve .

Ch.

Re: Fonction dans une fonction

par BafS » 16 sept. 2009, 22:46

Tu insères des éléments dans une fonction grâce aux arguments...
Regarde ici, si cela peut t'aiguiller:
http://www.commentcamarche.net/contents ... pfonc.php3
Merci pour t'as réponse mais ça je savais. Mais le problème c'est que je veux pas passer des arguments un par un nomfonction($arg1,$ar2,$etc){} mais plutôt nomfonction("(pow($x,3)+cos(x))/abs($x)"){} par exemple.
Et si je dois utiliser les regex ça devient très compliqué alors je me demandais si il n'y avait pas un moyen de reprendre la chaine en conservant les variables en variables php.
merci.

Re: Fonction dans une fonction

par Dr@ke » 16 sept. 2009, 20:58

Tu insères des éléments dans une fonction grâce aux arguments...
Regarde ici, si cela peut t'aiguiller:
http://www.commentcamarche.net/contents ... pfonc.php3

Fonction dans une fonction

par BafS » 16 sept. 2009, 18:57

Bonjour
Alors désolé pour le titre mais je savais pas vraiment quoi mettre d'autre... Bon je m'explique.

J'aimerais bien pouvoir faire que l'utilisateur entre une fonction (ex. f(x)=5*x+cos(45)) et que ça entre dans une fonction php (ex.graph($_GET["mafonction"]){}) et qu'on remplace x par des nombres.

En gros on devrait pouvoir écrire la fonction à la main et réutiliser les variables, seulement je sais vraiment pas comment faire...

Si quelqu'un pouvait m'aider ce serait super :)

Merci d'avance.

Edit [17.01.2011] :
On peut tout simplement utiliser la fonction eval (http://php.net/manual/fr/function.eval.php).