Come da oggetto:
Voglio fare un if che dica: se $percorso COMINCIA PER /foto ....Codice PHP:
if($percorso == "/foto/civilta") {
$title = $title." (Foto della serie Civiltà)";
}
Come glielo spiego?
Come da oggetto:
Voglio fare un if che dica: se $percorso COMINCIA PER /foto ....Codice PHP:
if($percorso == "/foto/civilta") {
$title = $title." (Foto della serie Civiltà)";
}
Come glielo spiego?
codice:$prova = substr($percorso , 0, 5); if($prova == "/foto") { $title = $title." (Foto della serie Civiltà)"; }
Pensavo ci fosse proprio una funzione "comincia per"
vorrà dire che userò substr().
Grazie!
Puoi usare questa:
int strncmp ( string str1, string str2, int len )
This function is similar to strcmp(), with the difference that you can specify the (upper limit of the) number of characters (len) from each string to be used in the comparison.
Returns < 0 if str1 is less than str2; > 0 if str1 is greater than str2, and 0 if they are equal.
Note that this comparison is case sensitive.
grazie fabi080, così posso evitare di ri-dichiarare ogni volta il valore della variabile!
mi basta una riga così:
$confronto = strncmp($percorso,"/foto",6);
if($confronto == 1) { bla bla bla }
devo dichiarare solo $confronto
thank you
altrimenti usa una espressione regolare del tipo
/^//foto/
Vuoi aiutare la riforestazione responsabile?
Iscriviti a Ecologi e inizia a rimuovere la tua impronta ecologica (30 alberi extra usando il referral)
Hai letto bene i valori ritornati dalla funzione?? Se torna 1 la seconda stringa è (in ordine lessicografico) maggiore della prima. Per avere l'uguaglianza devi avere 0.Originariamente inviato da Petro_suse91
if($confronto == 1) { bla bla bla }
E poi che dichiari a fare la variabile confronto, non ti conviene fare direttamente
if (0 == strncmp($percorso,"/foto",6)) {
blablabla
}
edit: aaah ecco, ho capito dove sbagliavo
ora è cosìfunziona perfettamente.Codice PHP:
$confronto = strncmp($percorso,"/foto",6);
if($confronto >= 0)
E, soprattutto, ho capito perchè!
P.S. fcaldera, con le regexp non son pratico... preferisco così, per ora. ma grazie del suggerimento
No, gli dici "Controlla che i primi 6 caratteri di $percorso siano uguali a /foto"???Originariamente inviato da Petro_suse91
Non capisco una cosa:
[PHP]
Ma scusa, io con strncmp($percorso,"/foto",6) non gli dico esattamente "Controlla che i primi 5 caratteri di $percorso siano uguali a /foto???
Perchè usi 6 e non 5?? la stringa "/foto" è lunga 5 caratteri quindi
$confronto = strncmp($percorso,"/foto",5);
Sei sicuro? Prova con $confronto = 'abc' e vedi cosa restituisce.Originariamente inviato da Petro_suse91
edit: aaah ecco, ho capito dove sbagliavo
ora è cosìfunziona perfettamente.Codice PHP:
$confronto = strncmp($percorso,"/foto",6);
if($confronto >= 0)
La funzione confronta i primi n caratteri e restituisce 0 se e SOLO se essi sono identici, quindi mettere >= 0 ti porta ad errori.