• Consiglio Direttivo

    [Stringhe] strpos();

    Sintassi: int strpos ( string $string , mixed $needle [, int $offset ] )

    strpos è una funzione di PHP che restituisce la posizione numerica della prima occorrenza del parametro $needle nella stringa $string. Come valore opzionale è possibile escludere dal controllo, ma non dal conteggio dei caratteri, tutti i caratteri che precedono il carattere individuato da $offset della stringa $string:
    [php]$string = "abcdef abcdef";
    $needle = "b";
    $pos = strpos ($string, $needle); // risultato: 1

    $needle = "c";
    $pos = strpos ($string, $needle, 3); // risultato: 9[/php]
    Come per gli array bisogna ricordare che il primo valore ha posizione 0, quindi nel nostro caso a sarà la nostro $pos=0 😉
    Ovviamente è possibile che la stringa $needle, non venga trovata in $string, in tal caso strpos restituira' un valore booleano FALSE, quindi, dato quanto appena detto, bisogna verificare che il risultato non sia un equivalente non booleano (0 oppure "").
    Per fare cio' basterà utilizzare l'operatore di confronto **=== **(identico: uguali e dello stesso tipo) invece di == (uguale: uguale ma anche di tipologie differenti) per verificare il risultato ottenuto, continuando l'esempio precedente quindi scriveremo:
    [php]if ($pos === false)
    {
    echo "Nessuna occorrenza di $needle è stata trovata in $string";
    }
    else
    {
    echo "La stringa $needle è contenuta in $string in posizione $pos";
    }[/php]
    Qualora $needle non fosse una stringa, il suo valore verrà convertito in un intero ed utilizzato come valore ordinale di un carattere.
    [php]$string = "abcdef abcdef";
    $pos = strpos ($string, 3, 4); // risultato: 11[/php]