funzione strcmp

Gius-0001

Utente Attivo
17 Apr 2008
32
0
0
non sono sicuro di una cosa.. volevo un parere...

la funzione int strcmp (string $str1, string $str2) confronta due strinche ok...

quindi:

<?php

$string1 = "bbH";
$string2 = "bbAAzzzzz";

if(strcmp($string1,$string2) < 0)
{
echo "<p>$string1, $string2: ";
echo "string1 is smaller</p>";
}

?>

in questo caso string1 è > di string2..
quindi la funzione non fa la somma del valore di ogni occorrenza
e poi fa il confronto..ma:
alla prima occorrenza maggiore che trova restituisce che la stringa
e' piu grande giusto?
 
Questa funzione è uno dei pochi casi in cui il manuale ufficiale di PHP non offre una buona spiegazione.
In realtà le cose stanno così:

PHP:
se $string1 == $string2 strcmp restituisce 0
se $string1  < $string2 strcmp restituisce  1
se $string1  > $string2 strcmp restituisce -1

infatti nel tuo caso

PHP:
strcmp($string1,$string2);

è uguale a 1
 
capito..
ma fa l'addizzione del valore ascii di ogni singola occorrenza?
questo non lo ancora capito..
 

Discussioni simili