Ciao a tutti, sto combattendo da stamattina con un problemino che mi da la funzione strcmp di php il codice è questo:

Codice PHP:


function findString($testo$parola)
{

    
$testo str_replace "," " " $testo);
    
$testo str_replace "." " " $testo);
    
$testo str_replace ";" " " $testo);
    
$testo str_replace ":" " " $testo);
    
$testo str_replace ")" " " $testo);
    
$testo str_replace "(" " " $testo);
    
$testo str_replace "-" " " $testo);
    
    
$parola=trim($parola);
    
    
$testo_split=explode  (" " $testo);
    
$lungh_testocount($testo_split);
    
    
/*echo "--------------------".$lungh_testo."----------------";
    
    echo "<font color=green>";
    for($i=0; $i < $lungh_testo; $i++) 
    {
        echo $testo_split[$i]." ".$i."
";
    }
    echo "</font>";*/
    
    
$count=0;
    
    
$arrary_parola=explode  (" " $parola);
    
$lungh_parolacount($parola);
    
    
    
//echo $testo."
";
    
        if(
$lungh_parola==1)
        {
            for(
$i=0; $i<$lungh_testo$i++) 
            {
                //echo 
$i."
";
                
$test="";
                
                
$test=$testo_split[$i];
                
                echo 
$parola."->".$test." ".$i." strcmp ".strcmp((string)$test,(string)$parola)."
";
                if(strcmp(
$parola,$testo_split[$i])==0)
                {
                    echo "
<font color=red>".$parola."->".$testo_split[$i]." ".$i."</font>
";
                    return true;
                }
            }
        }
        else if(
$lungh_parola>1)
        {
            
$cont=0;
            while(
$cont<$lungh_parola)
            {
                for(
$i=0; $i<$lungh_testo$i++)
                {
                    //echo 
$parola."->".$testo_split[$i]."
";
                    if(strcmp(
$parola,$testo_split[$i])==0)
                    {
                        return true;
                    }
                }
            
            
$cont++;
            }
        }
    
    return false;    

in poche parole è una funzione che mi cerca se dentro un testo vi sono delle parole, da premettere che non ho usato strpos perchè anche quella mi dava problemi(e tutto sommato volevo provare a fare io una funzione). ho fatto delle stampe, per esempio ho provato a cercare la parola "cessionario" nel testo e ho fatto delle stampre una porzione delle stampe è questa:

cessionario->un 88 strcmp -1
cessionario->ente 89 strcmp -1
cessionario->locale 90 strcmp -1
cessionario-> 91 strcmp -1
cessionario->ma 92 strcmp -1
cessionario->in 93 strcmp -1
cessionario->cui 94 strcmp -1
cessionario->il 95 strcmp -1
cessionario->cessionario 96 strcmp -1
cessionario-> 97 strcmp -1
cessionario->diversamente 98 strcmp -1
cessionario->da 99 strcmp -1
cessionario->quanto 100 strcmp -1
cessionario->previsto 101 strcmp -1
cessionario->dal 102 strcmp -1

come si può notare la riga in grassetto ha due stringhe ugualissime ma strcmp mi da comunque -1 anzichè 0.

PERCHE'