Des notices partout dans mon script grrr

Consultez la formation au référencement naturel Google de WebRankInfo / Ranking Metrics

zimounet
WRInaute accro
WRInaute accro
 
Messages: 1796
Inscription: Lun Nov 08, 2004 20:57

Des notices partout dans mon script grrr

Message le Lun Oct 24, 2005 23:26

Voila, j'ai dev un p'tit script pour virer toutes les occurences de moins de 4 mots:

Code: Tout sélectionner
$var = "$titre";
$lenght = strlen($var);
$final = '';
$mot = '';
for ($i = 0; $i <= $lenght; ++$i)
{
    if ($var{$i} != ' ') //Si le caractère étudié n'est pas un éspace
        $mot .= $var{$i};
    else //Sinon c'est un éspace
    {
        if (strlen($mot) > 4)
            $final .= $mot .' ';
       
        $mot="";
    }
}

echo " le finale $final<br>";


Mais j'ai des notices en veux tu en voila sur ces deux lignes:

Code: Tout sélectionner
    if ($var{$i} != ' ') //Si le caractère étudié n'est pas un éspace
        $mot .= $var{$i};


Voici les notices:

Notice: Uninitialized string offset: 22 in c:\program files\easyphp1-8\www\jeunes\article.php on line 72

Notice: Uninitialized string offset: 22 in c:\program files\easyphp1-8\www\jeunes\article.php on line 73


mowmow
WRInaute passionné
WRInaute passionné
 
Messages: 975
Inscription: Mer Nov 03, 2004 9:40

Message le Mar Oct 25, 2005 8:02

Code: Tout sélectionner
$titre = explode(' ', $titre);
foreach((array) $titre as $key => $value) {
    if(strlen($value) < 4)
        unset($titre[$key]);
}


Voilou c'est plus simple comme ca sinon :)

Si tu veux garder ton code, je crois que l'erreur vient de ca :

for ($i = 0; $i <= $lenght; ++$i)

A mon avis c'est :

for ($i = 0; $i <= $lenght; $i++)


e-kiwi
Modérateur
Modérateur
 
Messages: 13867
Inscription: Mar Déc 23, 2003 9:04

Message le Mar Oct 25, 2005 8:28

l'erreur vient surtout de ta configuration :-) faut pas afficher les notices

edite ton php.ini et met : error_reporting = E_ALL & ~E_NOTICE

Lymf
WRInaute occasionnel
WRInaute occasionnel
 
Messages: 188
Inscription: Jeu Mai 12, 2005 15:07

Message le Mar Oct 25, 2005 8:38

on dit un espace pas un éspace ;)

et sinon, le fait de virer les notices, ca ne va pas aider, il vaut mieux coder proprement et déclarer ses variables avant de les utiliser... Virer les notices ne va que masquer ce problème de soin dans le code.

spidetra
WRInaute accro
WRInaute accro
 
Messages: 1500
Inscription: Lun Juil 07, 2003 13:06

Message le Mar Oct 25, 2005 8:43

e-kiwi a écrit:l'erreur vient surtout de ta configuration :-) faut pas afficher les notices

edite ton php.ini et met : error_reporting = E_ALL & ~E_NOTICE


au contraire, en mode debug, il faut garder les E_NOTICE pour essayer d'avoir le code le plus propre possible.
En mode prod on abaisse le niveau d'erreur reporting.

=> zimounet : tu as aussi la fct : str_word_count qui te permet de récupérer les mots dans un tableau associatif avec un peu plus d'options qu'explode.

http://fr3.php.net/manual/fr/function.s ... -count.php

Lymf
WRInaute occasionnel
WRInaute occasionnel
 
Messages: 188
Inscription: Jeu Mai 12, 2005 15:07

Message le Mar Oct 25, 2005 8:45

ya de l'écho par ici :)

spidetra
WRInaute accro
WRInaute accro
 
Messages: 1500
Inscription: Lun Juil 07, 2003 13:06

Message le Mar Oct 25, 2005 8:55

Lymf a écrit:ya de l'écho par ici :)


je suis juste lent dans la rédaction de mes messages :lol:


Formation recommandée sur ce thème :

Formation Référencement naturel Google : apprenez une méthode efficace pour optimiser à fond le référencement naturel dans Google de façon durable... Formation animée par Olivier Duffez et Fabien Facériès, experts en référencement naturel.

Tous les détails sur le site Ranking Metrics : programme, prix, dates et lieux, inscription en ligne.

Lectures recommandées sur ce thème :



Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 0 invités