Voir le code d'une fonction [Résolu]

Messages postés
749
Date d'inscription
dimanche 5 octobre 2008
Dernière intervention
27 décembre 2016
-
Bonjour,

Je ne sais pas si c'est possible, mais je souhaiterai voir le code qui se trouve dans une fonction PHP.
Par exemple, au lieu d'utiliser les fonctions "decbin" ou "bindec" pour convertir du décimal en binaire et inversement, je voudrais voir l'intérieur de la fonction pour la reproduire manuscritement.

Je vous remercie d'avance.

Mathieu
Afficher la suite 

Votre réponse

2 réponses

Meilleure réponse
Messages postés
719
Date d'inscription
lundi 5 décembre 2005
Dernière intervention
8 janvier 2014
6
1
Merci
Bonjour,

Tu sembles chercher les sources d'un interpréteur php.
En voici un : https://github.com/php/php-src
Cet interpréteur est écrit en C. Ça ne risque pas de t'aider beaucoup.

Les fonctions bindec et decbin sont dans math.c


/* {{{ proto int bindec(string binary_number)
Returns the decimal equivalent of the binary number */
PHP_FUNCTION(bindec)
{
zval **arg;

if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "Z", &arg) == FAILURE) {
return;
}
convert_to_string_ex(arg);
if (_php_math_basetozval(*arg, 2, return_value) == FAILURE) {
RETURN_FALSE;
}
}


/* {{{ proto string decbin(int decimal_number)
Returns a string containing a binary representation of the number */
PHP_FUNCTION(decbin)
{
zval **arg;
char *result;

if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "Z", &arg) == FAILURE) {
return;
}
convert_to_long_ex(arg);
result = _php_math_longtobase(*arg, 2);
RETURN_STRING(result, 0);
}

--

Dire « Merci » 1

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

Codes Sources 121 internautes nous ont dit merci ce mois-ci

Commenter la réponse de cs_AlexN
Messages postés
749
Date d'inscription
dimanche 5 octobre 2008
Dernière intervention
27 décembre 2016
0
Merci
Hahah, en effet ça ne m'aide pas beaucoup, je pensais trouver l'algorithme complet en PHP, je ne savais pas que les fonctions étaient codées en C, j'aurais au moins appris cela :)

Merci
Commenter la réponse de math_b67

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.