CREARE SITI WEB in PHP e MYSQL > La funzione STRPOS()

fondamentali per l uso del computer
12% di sconto
Acquista ora a soli 75 euro
Clicca qui, per riceverli
comodamente a casa tua.
La funzione strpos() cerca e indica la posizione di una parola o stringa.
Il seguente esempio cerca la parola "giorno" all'interno della frase "Oggi è un bel giorno"; e (trovandola) indica la posizione del carattere iniziale.
<?php
echo strpos("Oggi è un bel giorno", "giorno")
?>
echo strpos("Oggi è un bel giorno", "giorno")
?>
Il risultato del codice dell'esempio suesposto è: 14
perchè il carattere "g" di "giorno" è il quattordicesimo carattere della frase "Oggi è un bel giorno".
Per essere più precisi "g" di "giorno" è il cartattere n.15, ma viene indicato il valore 14 perchè il primo carattere ("O" di "Oggi") viene conteggiato 0(zero).
Vediamo ora un esempio pratico con le variabili e la funzione strpos():
<?php
$var1 ="Oggi è un bel giorno";
$var2 ="Il sole splende!";
$var3 ="giorno";
echo "la parola \"$var3\" si trova all'interno della variabile \$var1
nella posizione " . strpos($var1, $var3) . "<br />";
echo "la parola \"$var3\" si trova all'interno della variabile \$var2
nella posizione " . strpos($var1, $var2) . "<br />";
?>
$var1 ="Oggi è un bel giorno";
$var2 ="Il sole splende!";
$var3 ="giorno";
echo "la parola \"$var3\" si trova all'interno della variabile \$var1
nella posizione " . strpos($var1, $var3) . "<br />";
echo "la parola \"$var3\" si trova all'interno della variabile \$var2
nella posizione " . strpos($var1, $var2) . "<br />";
?>
Se il risultato della prima frase ha un certo senso:
la parola "giorno" si trova all'interno della variabile $var1 nella posizione 14
il risultato della seconda frase:
la parola "giorno" si trova all'interno della variabile $var2 nella posizione
non ne ha perchè la parola non viene trovata!
Procedi quindi alla modifica del codice usando gli operatori di controllo, visti precedentemente.
Questo è il codice aggiornato:
<?php
$var1 ="Oggi è un bel giorno";
$var2 ="Il sole splende!";
$var3 ="giorno";
$var5 = strpos($var1, $var3);
$var6 = strpos($var2, $var3);
echo "la parola \"$var3\" ";
if ($var5 == 0)
echo "non ";
echo "si trova all'interno della variabile \$var1 ";
if ($var5 > 0)
echo "nella posizione ";
echo $var5 . "<br />";
echo "la parola \"$var3\" ";
if ($var6 == 0)
echo "non ";
echo "si trova all'interno della variabile \$var2 ";
if ($var6 > 0)
echo "nella posizione ";
echo $var6 . "<br />";
?>
$var1 ="Oggi è un bel giorno";
$var2 ="Il sole splende!";
$var3 ="giorno";
$var5 = strpos($var1, $var3);
$var6 = strpos($var2, $var3);
echo "la parola \"$var3\" ";
if ($var5 == 0)
echo "non ";
echo "si trova all'interno della variabile \$var1 ";
if ($var5 > 0)
echo "nella posizione ";
echo $var5 . "<br />";
echo "la parola \"$var3\" ";
if ($var6 == 0)
echo "non ";
echo "si trova all'interno della variabile \$var2 ";
if ($var6 > 0)
echo "nella posizione ";
echo $var6 . "<br />";
?>
Qui di seguito invece puoi trovare il codice, completo di commenti che ne descrivono i dettagli:
<?php // apertura del codice php
$var1 ="Oggi è un bel giorno";
// viene assegnato una stringa di testo alla variabile $var1
$var2 ="Il sole splende!";
// viene assegnato una stringa di testo alla variabile $var2
$var3 ="giorno";
// viene assegnato una stringa di testo alla variabile $var3
$var5 = strpos($var1, $var3);
/* viene assegnato alla variabile $var5 il risultato dell'espressione strpos($var1, $var3)
ovvero viene assegnato la posizione della variabile $var3 (giorno)
rispetto alla variabile $var1 (Oggi è un bel giorno)
Quindi $var5 avrà come valore: 14 */
$var6 = strpos($var2, $var3);
/* viene assegnato alla variabile $var6 il risultato dell'espressione strpos($var2, $var3)
Quindi alla variabile $var6 sarà assegnato valore nullo, perchè $var3 (giorno) non è compresa in $var2 */
// Tutte le operazioni sovrastanti non saranno visibili nella pagina finale che verrà visualizzata con il browser
echo "la parola \"$var3\" ";
// sulla pagina viene visualizzato:
// la parola "giorno"
if ($var5 == 0)
echo "non ";
// Se $var5 è uguale a zero, verrà visualizzato: non
// In questo caso $var5 ha valore 14 e quindi "non", non sarà visualizzato
echo "si trova all'interno della variabile \$var1 ";
// viene visualizzato sulla pagina: si trova all'interno della variabile $var1
if ($var5 > 0)
echo "nella posizione ";
// Se $var5 è maggiore di zero, verrà visualizzato: nella posizione
// In questo caso $var5 ha valore 14 e quindi "nella posizione", sarà visualizzato
echo $var5 . "<br />";
// Viene visualizzato il valore della variabile $var5; ovvero: 14
// e inserito un "a capo riga"
// La frase finale visualizzata è:
// la parola "giorno" si trova all'interno della variabile $var1 nella posizione 14
echo "la parola \"$var3\" ";
if ($var6 == 0)
echo "non ";
// Se $var6 è uguale a zero o nullo, verrà visualizzato: non
// In questo caso $var6 ha valore nullo e quindi "non", sarà visualizzato
echo "si trova all'interno della variabile \$var2 ";
// viene visualizzato sulla pagina:
// si trova all'interno della variabile $var2
if ($var6 > 0)
echo "nella posizione ";
// Se $var6 è maggiore di zero, verrà visualizzato: nella posizione
// In questo caso $var6 ha valore nullo e quindi "nella posizione", non sarà visualizzato
echo $var6 . "<br />";
// Viene visualizzato il valore della variabile $var6; ovvero nulla!
// e inserito un "a capo riga"
// La frase finale visualizzata è:
// la parola "giorno" non si trova all'interno della variabile $var2
?>
$var1 ="Oggi è un bel giorno";
// viene assegnato una stringa di testo alla variabile $var1
$var2 ="Il sole splende!";
// viene assegnato una stringa di testo alla variabile $var2
$var3 ="giorno";
// viene assegnato una stringa di testo alla variabile $var3
$var5 = strpos($var1, $var3);
/* viene assegnato alla variabile $var5 il risultato dell'espressione strpos($var1, $var3)
ovvero viene assegnato la posizione della variabile $var3 (giorno)
rispetto alla variabile $var1 (Oggi è un bel giorno)
Quindi $var5 avrà come valore: 14 */
$var6 = strpos($var2, $var3);
/* viene assegnato alla variabile $var6 il risultato dell'espressione strpos($var2, $var3)
Quindi alla variabile $var6 sarà assegnato valore nullo, perchè $var3 (giorno) non è compresa in $var2 */
// Tutte le operazioni sovrastanti non saranno visibili nella pagina finale che verrà visualizzata con il browser
echo "la parola \"$var3\" ";
// sulla pagina viene visualizzato:
// la parola "giorno"
if ($var5 == 0)
echo "non ";
// Se $var5 è uguale a zero, verrà visualizzato: non
// In questo caso $var5 ha valore 14 e quindi "non", non sarà visualizzato
echo "si trova all'interno della variabile \$var1 ";
// viene visualizzato sulla pagina: si trova all'interno della variabile $var1
if ($var5 > 0)
echo "nella posizione ";
// Se $var5 è maggiore di zero, verrà visualizzato: nella posizione
// In questo caso $var5 ha valore 14 e quindi "nella posizione", sarà visualizzato
echo $var5 . "<br />";
// Viene visualizzato il valore della variabile $var5; ovvero: 14
// e inserito un "a capo riga"
// La frase finale visualizzata è:
// la parola "giorno" si trova all'interno della variabile $var1 nella posizione 14
echo "la parola \"$var3\" ";
if ($var6 == 0)
echo "non ";
// Se $var6 è uguale a zero o nullo, verrà visualizzato: non
// In questo caso $var6 ha valore nullo e quindi "non", sarà visualizzato
echo "si trova all'interno della variabile \$var2 ";
// viene visualizzato sulla pagina:
// si trova all'interno della variabile $var2
if ($var6 > 0)
echo "nella posizione ";
// Se $var6 è maggiore di zero, verrà visualizzato: nella posizione
// In questo caso $var6 ha valore nullo e quindi "nella posizione", non sarà visualizzato
echo $var6 . "<br />";
// Viene visualizzato il valore della variabile $var6; ovvero nulla!
// e inserito un "a capo riga"
// La frase finale visualizzata è:
// la parola "giorno" non si trova all'interno della variabile $var2
?>