PHP - fonction qui fonctionne pas

Résolu
nino11 Messages postés 76 Statut Membre -  
Artemischasseur Messages postés 36 Statut Membre -
Bonjour,

Je rencontre des problèmes avec cette fonction que j'ai écrit...
Et je comprends pas pourquoi ...

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" lang="fr">
<head>
<title>Test de la fonction insert</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<?php function insert ($str, $carac, $pos)
{
If (strlen($str)<$pos)
{
$str = $str + $carac;
}
else
{
$temp = $str;

$str = substr($temp, 0, $pos-1) + $carac + substr($temp, $pos);
}

return ($str);
}

?>

</head>
<body>
<?php
$var="rue";

$var2=insert($var, "o", 2);

echo $var2;
?>
</body>
</html>
Configuration: Windows XP
Firefox 2.0.0.14

2 réponses

  1. Artemischasseur Messages postés 36 Statut Membre 24
     
    Bonjour

    Je ne sais pas si cela change quelque chose mais essaie de retirer les parenthèse au tour du "$str" après "return"
    0
    1. nino11 Messages postés 76 Statut Membre
       
      Ca change rien...

      Ca m'affiche toujours 0, alors que ça devrais m'afficher "roue"...
      0
      1. onesdf Messages postés 375 Date d'inscription   Statut Membre Dernière intervention   120 > nino11 Messages postés 76 Statut Membre
         
        Salut,

        En PHP, la concaténation de chaîne s'effectue grâce au point.
        0
      2. nino11 Messages postés 76 Statut Membre > onesdf Messages postés 375 Date d'inscription   Statut Membre Dernière intervention  
         
        ah oui, m****, c'est vrai, mais c'est que je coder pas mal en VB aussi, c'est pour ça, bon je test et jte tiens au courent...
        0
      3. onesdf Messages postés 375 Date d'inscription   Statut Membre Dernière intervention   120 > nino11 Messages postés 76 Statut Membre
         
        ben en vb c'est & pour concaténer :oP
        0
      4. nino11 Messages postés 76 Statut Membre > onesdf Messages postés 375 Date d'inscription   Statut Membre Dernière intervention  
         
        Non, en VB tu peux concaténer avec le "+" aussi ^^

        Bon, ça marche, par contre faut rajouter un "-1" dans la concaténation dans le "else", à la fin, faut mettre pos-1... enfin, ça marche, merci ^^
        0
  2. Artemischasseur Messages postés 36 Statut Membre 24
     
    $str = substr($temp, 0, $pos-1) . $carac . substr($temp, $pos);
    


    devrait être

    $str = substr($temp, 0, $pos-1) . $carac . substr($temp, $pos-1);
    
    0