PHP: create_function - Manual in English
PHP: create_function - Manual in Deutsch
PHP: create_function - Manual in Polish

Vous êtes à PHP: create_function - Manual Area


recherches récentes:
incluez les fonctions , fonctions variables , fonctions de poteau...




Si vous êtes nouveau au PHP ou devez juste régénérer vos qualifications, c'est l'endroit à commencer. Cette série de cours d'instruction te donnera la connaissance de base que vous devrez créer un simple Site Web de PHP.

Le PHP est un langage de programmation r3fléchissant à l'origine conçu pour produire les pages Web dynamiques. [1] Le PHP est employé principalement dans le serveur-côté scripting, mais peut être employé d'une ligne de commande interface ou dans des applications graphiques autonomes. Des interfaces utilisateurs textuelles peuvent également être créées utilisant des ncurses.

Crée une fonction anonyme (style lambda)


create_function

(PHP 4 >= 4.0.1, PHP 5)

create_function — Crée une fonction anonyme (style lambda)

Description

string create_function ( string $args , string $code )

Crée une fonction anonyme, à partir des paramètres passés, et retourne un nom de fonction unique.

Liste de paramètres

Généralement, les arguments args sont présentés sous la forme d'une chaîne à guillemets simples, et la même recommandation vaut pour code . La raison de l'utilisation des guillemets simples est de proteger les noms de variables du remplacement par leur valeur. Si vous utilisez les guillemets doubles, n'oubliez pas d'échapper les noms de variables (i.e. \$avar).

args

Les arguments de la fonction.

code

Le code de la fonction.

Valeurs de retour

Retourne un nom de fonction unique, sous la forme d'une chaîne de caractères, ou FALSE si une erreur survient.

Exemples

Exemple #1 Création d'une fonction anonyme avec create_function()

Vous pouvez utiliser cette fonction pour (par exemple) créer une fonction à partir d'informations récoltées durant l'exécution :

<?php
$newfunc 
create_function('$a,$b''return "ln($a) + ln($b) = " . log($a * $b);');
echo 
"Nouvelle fonction anonyme  : $newfunc\n";
echo 
$newfunc(2M_E) . "\n";
// affichera :
// Nouvelle fonction anonyme : lambda_1
// ln(2) + ln(2.718281828459) = 1.6931471805599
?>

Ou, pour pouvoir appliquer une fonction générique à une liste d'arguments.

Exemple #2 Traitement générique par fonction avec create_function()

<?php
function process($var1$var2$farr)
{
    foreach (
$farr as $f) {
        echo 
$f($var1$var2) . "\n";
    }
}

// Création d'une série de fonction mathématiques
$f1 'if ($a >=0) {return "b*a^2 = ".$b*sqrt($a);} else {return false;}';
$f2 "return \"min(b^2+a, a^2,b) = \".min(\$a*\$a+\$b,\$b*\$b+\$a);";
$f3 'if ($a > 0 && $b != 0) {return "ln(a)/b = ".log($a)/$b; } else { return false; }';
$farr = array(
    
create_function('$x,$y''return "un peu de trigo : ".(sin($x) + $x*cos($y));'),
    
create_function('$x,$y''return "une hypoténuse : ".sqrt($x*$x + $y*$y);'),
    
create_function('$a,$b'$f1),
    
create_function('$a,$b'$f2),
    
create_function('$a,$b'$f3)
    );

echo 
"\nUtilisation de la première liste de fonctions anonymes\n";
echo 
"paramétres : 2.3445, M_PI\n";
process(2.3445M_PI$farr);

// Maintenant une liste de fonction sur chaîne de caractères
$garr = array(
    
create_function('$b,$a''if (strncmp($a, $b, 3) == 0) return "** \"$a\" '.
    
'and \"$b\"\n** Look the same to me! (looking at the first 3 chars)";'),
    
create_function('$a,$b''; return "CRCs : " . crc32($a) . " , ".crc32(b);'),
    
create_function('$a,$b''; return "similarité (a,b) = " . similar_text($a, $b, &$p) . "($p%)";')
    );
echo 
"\nUtilisation de la seconde liste de fonctions anonymes\n";
process("Twas brilling and the slithy toves""Twas the night"$garr);
?>

L'exemple ci-dessus va afficher :

Utilisation de la première liste de fonctions anonymes
paramétres : 2.3445, M_PI
un peu de trigo : -1.6291725057799
une hypoténuse : 3.9199852871011
b*a^2 = 4.8103313314525
min(b^2+a, a^2,b) = 8.6382729035898
ln(a/b) = 0.27122299212594

Utilisation de la seconde liste de fonctions anonymes
** "Twas the night" and "Twas brilling and the slithy toves"
** Ces chaînes se ressemblent ! (regardez les trois premiers caractères)
CRCs : -725381282 , 1908338681
similarité (a,b) = 11(45.833333333333%)

Mais l'utilisation la plus courante des fonctions lambda est la fonction de callback, par exemple, lors de l'utilisation de array_walk() ou usort()

Exemple #3 Utilisation de fonctions anonymes comme fonction de callback

<?php
$av 
= array("la ""une ""cette ""une certaine ");
array_walk($avcreate_function('&$v,$k''$v = $v . "maison";'));
print_r($av);
?>

L'exemple ci-dessus va afficher :

Array
(
  [0] => la maison
  [1] => une maison
  [2] => cette maison
  [3] => une certaine maison
)

un tableau de chaînes de caractères ordonnées de la plus courte à la plus longue

<?php

$sv 
= array("petite""longue""une très longue chaîne""une phrase toute entière");
print_r($sv);

?>

L'exemple ci-dessus va afficher :

Array
(
  [0] => petite
  [1] => longue
  [2] => une très longue chaîne
  [3] => une phrase toute entière
)

ordonnées de la plus longue à la plus courte

<?php

usort
($svcreate_function('$a,$b','return strlen($b) - strlen($a);'));
print_r($sv);

?>

L'exemple ci-dessus va afficher :

Array
(
  [0] => une phrase toute entière
  [1] => une très longue chaîne
  [2] => longue
  [3] => petite
)


szkolenia z ZUS zus szkolenia - szkolenia biznesowe
url
super odkurzanie centralne naprawdę warto centralny odkurzanie centralne
wywóz nieczystości płynnych
Kompleksowa obsługa i tanie przeprowadzki kraków na terenie całego kraju
902 903

Des autres fonctions utiles :


phar.creating | phar.createdefaultstub | numberformatter.create | messageformatter.create | function.xslt-create | function.xmlrpc-server-create | function.xml-parser-create | function.xml-parser-create-ns | function.win32-create-service | function.svn-repos-create | function.svn-fs-node-created-rev | function.stream-context-create | function.sqlite-create-function | function.sqlite-create-aggregate | function.socket-create | function.socket-create-pair | function.socket-create-listen | function.radius-create-request | function.px-create-fp | function.pspell-config-create | function.printer-create-pen | function.printer-create-font | function.printer-create-dc | function.printer-create-brush | function.pg-lo-create | function.pdf-set-info-creator | function.pdf-create-textflow | function.pdf-create-pvf | function.pdf-create-gstate | function.pdf-create-fieldgroup | function.pdf-create-field | function.pdf-create-bookmark | function.pdf-create-annotation | function.pdf-create-action | function.pdf-create-3dview | function.openal-source-create | function.openal-context-create | function.openal-buffer-create | function.notes-nav-create | function.notes-create-note | function.notes-create-db | function.newt-create-grid | function.mysql-create-db | function.msql-createdb | function.msql-create-db | function.msession-create | function.mcrypt-create-iv | function.mailparse-msg-create | function.kadm5-create-principal | function.imap-createmailbox | function.imagecreatetruecolor | function.imagecreatefromxpm | function.imagecreatefromxbm | function.imagecreatefromwbmp | function.imagecreatefromstring | function.imagecreatefrompng | function.imagecreatefromjpeg | function.imagecreatefromgif | function.imagecreatefromgd2part | function.imagecreatefromgd2 | function.imagecreatefromgd | function.imagecreate | function.ifxus-create-slob | function.ifx-create-char | function.ifx-create-blob | function.ibase-blob-create | function.harupage-createurlannotation | function.harupage-createtextannotation | function.harupage-createlinkannotation | function.harupage-createdestination | function.harudoc-createoutline | function.fdf-create | function.fbsql-create-db | function.fbsql-create-clob | function.fbsql-create-blob | function.domdocument-create-text-node | function.domdocument-create-processing-instruction | function.domdocument-create-entity-reference | function.domdocument-create-element | function.domdocument-create-element-ns | function.domdocument-create-comment | function.domdocument-create-cdata-section | function.domdocument-create-attribute | function.dbplus-rcreate | function.dbase-create | function.date-create | function.create-function | function.com-create-guid | function.bbcode-create | function.SDO-DataObject-createDataObject | function.SDO-DataFactory-create | function.SDO-DAS-XML-createDocument | function.SDO-DAS-XML-createDataObject | function.SDO-DAS-XML-create | function.SDO-DAS-Relational-createRootDataObject | function.SCA-createDataObject | function.SCA-SoapProxy-createDataObject | function.SCA-LocalProxy-createDataObject | domimplementation.createdocumenttype | domimplementation.createdocument | domdocument.createtextnode | domdocument.createprocessinginstruction | domdocument.createentityreference | domdocument.createelementns | domdocument.createelement | domdocument.createdocumentfragment | domdocument.createcomment | domdocument.createcdatasection | domdocument.createattributens | domdocument.createattribute | dateformatter.create | collator.create |


Le PHP est une langue scripting d'usage universel employée couramment qui approprié particulièrement au développement de Web et peut être enfoncée dans le HTML. Si vous êtes nouveau au PHP et voulez avoir une certaine idée de la façon dont cela fonctionne, essayez le cours d'instruction d'introduction. Après ce, vérifiez le manuel en ligne, et l'exemple archivez les emplacements et certaines des autres ressources disponibles dans la section de liens.