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
 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
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
 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
 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