et Free ... [PHP] - Programmation
Marsh Posté le 08-06-2001 à 09:02:43
str_repeat c'est bien la version 4 qui l'a aportée,
mais str_pad marche sur la 3 !
sinon en jouant sur les chaines et un tableau y' a moyen de faire pareil. mais y faut suer pour écrire sa propre fonction.
Marsh Posté le 08-06-2001 à 10:43:31
lamatrice a écrit a écrit : str_repeat c'est bien la version 4 qui l'a aportée, mais str_pad marche sur la 3 ! sinon en jouant sur les chaines et un tableau y' a moyen de faire pareil. mais y faut suer pour écrire sa propre fonction. |
T'es certain str_pad fonctionne sous PHP3 !!!
string str_pad (string input, int pad_length, string pad_string, int pad_type )
[PHP 4 >= 4.0.1]
Marsh Posté le 08-06-2001 à 12:59:13
va falloir que je retrousse les manches alors
A moins qu'1 âme charitable ait déjà eu le pb et veuille bien me faire part de sa solution p
Sinon quel hébergeur PHP4 me conseillez-vous qui soit de la qualité de Free en terme de gratuité/perf/no pub/Mo
[edit]--Message édité par m@nou--[/edit]
Marsh Posté le 08-06-2001 à 13:40:10
C'est pas très compliqué de construire une fonction qui en PHP3 remplacera str_repeat() et str_pad(). Maintenant faut voir ce que tu as vraiment à traiter. Comment sont structurées tes chaînes ?
::------ Pour le str_repeat :
en PHP4 : str_repeat (string input, int multiplier);
en PHP3 :
function php3str_repeat($input,$multiplier)
{
$output="";
for($i=0;$i<$multiplier;$i++)
{
$output=$output.$input;
}
return $output;
}
::------ Pour le str_pad :
je viens de te bricoler une chtite fonction, c'est pas optimisé mais c'est un début (pour toi la suite). J'oubliais, tu ne peux mettre qu'un caractère dans "$pad_string", sinon la longueur totale de la chaîne ne sera pas respectée.
function php3str_pad($input,$pad_length,$pad_string,$pad_type)
{
if(strlen($input)>=$pad_length)
{
$output=$input;
}
else
{
$output=$input;
$compl = $pad_length-strlen(input);
switch($pad_type)
{
case "pad_right":
for($i=0;$i<$compl;$i++)
{
$output=$output.$pad_string;
}
break;
case "pad_left":
for($i=0;$i<$compl;$i++)
{
$output=$pad_string.$output;
}
break;
case "pad_both":
$compl_left = floor($compl / 2); //aroundi int inférieur, ceil()->sup;
$compl_right = $compl - $compl_left;
for($i=0;$i<$compl_left;$i++)
{
$output=$output.$pad_string;
}
for($i=0;$i<$compl_right;$i++)
{
$output=$pad_string.$output;
}
break;
}
}
return $output;
}
echo php3str_pad("Paris",15,"X","pad_left" );
@+
Marsh Posté le 08-06-2001 à 16:14:31
merchi chapeau bas
pour le str_repeat j'avais fait un truc dans le genre, mais la fatigue aidant tôt ce matin m'a certainement fait loupé qq chose.
Marsh Posté le 11-06-2001 à 22:53:23
encore merci FLy LM çà marche nickel
juste une petit erreur de syntaxe dans le str_pad
$compl = $pad_length-strlen($input);
Marsh Posté le 12-06-2001 à 09:37:57
m@nou a écrit a écrit : encore merci FLy LM çà marche nickel juste une petit erreur de syntaxe dans le str_pad $compl = $pad_length-strlen($input); |
Exact !!
Marsh Posté le 08-06-2001 à 08:26:06
j'utilise les fonctions str_pad et str_repeat mais çà marche pô sur Free.
En local tout va bene
C du à la version de PHP ?
Y'a ti qq 1 ki a une soluce de contournement déjà toute faite ?
çà me fait suer d'écrire ma propre fonction
---------------
Mes photos,Feed-Back HA/V