Convertir une fonction javascript - PHP - Programmation
Marsh Posté le 22-07-2008 à 15:46:19
Bonjour,
pourrais-je avoir un exemple ?
Quel chaîne en entré ?
Merci
Marsh Posté le 22-07-2008 à 16:19:11
Ça pourrais donner quelque chose comme ça (code non testé):
Code :
|
En traduction "littérale" mais je n'ai pas compris l'utilité de la chose, n'y comment sont codé $str
merci de donner des précisions afin que je puisse corriger les éventuelles problème.
Marsh Posté le 23-07-2008 à 09:09:13
Voici se que j'avais au départ : //LC01200101000100000400000500006000400000003000000020000000050000000003
Voila se que j'ai obtenu avec une fonction qui encode (c'est du javascript) : LCa12b1a1c1e4e5d6c4g3g2h5i3
la "a" correspond a un zéro, le "b" a deux zéros etc...
Et ensuite je veux utiliser la fonction "decodeStr", seulement je l'ai en javascript mais il me la faut en php afin d'obtenir à nouveau se code : LC01200101000100000400000500006000400000003000000020000000050000000003
Marsh Posté le 23-07-2008 à 10:53:18
sachant que c'est moi qui ai codé les fonction, je peux assurer qu'elles marchent parfaitement. (En JS surtout ) en php j'ai pas regardé, la flème
Marsh Posté le 23-07-2008 à 11:07:26
oui en js sa marche parfaitement, seulement je dois exécuter la fonction décode en langage php.
Voici se que sa donne, seulement sa ne marche pas trés bien sa ne decode que le 'a'
/* fait l'inverse de la fonction précédente */
function decodeStr($str)
{
$alpha = array('a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p','q','r','s','t','u','v','w','x','y','z');
// maintenant on remplace la lettre par le nombre de zeros necessaires
for ($i=25; $i>=0; $i--)
{
$str = str_replace($alpha[$i],getZeros($i+1), $str);
}
return $str;
}
// cette fonction permet d'avoir le nombre de zeros demandes
function getZeros($num)
{
$nbzero='';
for ($i=1; $i<=$num; $i++)
{
$nbzero+=0;
}
return $nbzero;
}
Marsh Posté le 23-07-2008 à 11:15:37
C'est bon j'ai trouver, c'était la concaténation dans la fonction getZeros($num) qui ne se faisait pas. J'ai remplacé $nbzero+=0; par $nbzero=$nbzero."0";
Marsh Posté le 23-07-2008 à 11:19:26
Bonjour,
Je viens de lire, mais il y a truc que je ne comprend toujours pas :
A quoi ça sert ?
Marsh Posté le 23-07-2008 à 11:19:44
et sinon tu peux très bien faire
$nbzero.='0';
le + n'étant pas un opérateur de concaténation en PHP (désolé de pas avoir vu plus tôt
Marsh Posté le 22-07-2008 à 15:34:02
Comment traduire cette fonction en langage php?
function decodeStr(str)
{
var alpha = 'abcdefghijklmnopqrstuvwxyz';
alpha=alpha.split('');
// cette fonction permet d'avoir le nombre de zeros demandes
function getZeros(num)
{
var str='';
for (var i=1; i<=num; i++)
str+=0;
return str;
}
// maintenant on remplace la lettre par le nombre de zeros necessaires
for (var i=alpha.length-1; i>=0; i--)
{
str = str.replace(new RegExp(alpha[i],'g'), getZeros(i+1));
}
return str;
}