Prima di proseguire...
Potrebbe interessarti la nostra collezione di esercizi C risolti?
Vediamo oggi le funzioni standard per eseguire buona parte delle operazioni sulle stringhe con php.
IMP : bisogna ricordarsi che le stringhe in php sono molto simili al c e quindi non sono alto che un vettore di caratteri con il primo indice = 0.
Le funzioni principali sono:
int strpos ( string $haystack , mixed $needle [, int $offset = 0 ] ) -> data una stringa ricerca una seconda stringa al suo interno, restituisce il valore booleano FALSE nel caso in cui l’elemento non è presente, valore da confrontare con === false es: $pos = strpos(“stringa”, “tr”) -> restituisce 1 perché la numerazione parte da 0. La stessa funzione è stata implementata in c.
string trim ( string $str [, string $charlist ] ) -> elimina gli spazi estremi della stringa es: $str = trim(” ciao “) -> restituisce “ciao”
int strlen ( string $string ) -> lunghezza della stringa è come il count() dei vettori quindi restituisce la posizione dell’ultimo elemento +1 es: $len = strlen(“ciao”) -> restituisce 4
string substr ( string $string , int $start [, int $length ] ) -> ritorna una porzione di stringa partendo da un punto(indice), se il valore è negativo corrisponde all’indice partendo da destra in cui il primo valore è -1, quindi -1 = strlen($str)-1; restituisce fino alla fine o fino a tot caratteri es: $str = substr(“ciao”, 2) -> ritorna “ao” o $str = substr(“ciao”, 2,1) -> ritorna “a” o $str = substr(“ciao”, -3,2) -> ritorna “ia”
array explode ( string $delimiter , string $string [, int $limit ] ) -> che ritorna un array contenendo vari elementi della stringa usando come divisore il primo parametro
string implode ( string $glue , array $pieces ) -> il contrario di implode riunisce il vettore in un unica stringa usando come delimitatore il primo parametro
mixed str_replace ( mixed $search , mixed $replace , mixed $subject [, int &$count ] ) -> data una stringa(terzo parametro) cerca all’interno il primo parametro e lo sostituisce con il secondo parametro, i primi due argomenti possono essere sostituiti anche da due array come avviene ad esempio su https://www.thecsea.it/tutorial/2010/07/caratteri-speciali-php/ es: $str = str_replace(“cioa”, “ciao”, ” cioa”) -> ritorna ” ciao”. questa funzione può anche essere usata ad esempio nella sostituzione dei bbcode in tag : $str = str_replace(array(“[b]”,”[/b]”),array(““,”“),”[b]ciao[/b]”)
string strtolower ( string $str ) e string strtoupper ( string $string ) -> che restituiscono rispettivamente la stringa tutta in minuscolo e tutta in maiuscolo
Queste sono le funzioni principali, poi c’è ne sono altre facilmente riproducibili con queste, ad esempio :
string strstr ( string $haystack , mixed $needle [, bool $before_needle = false ] ) -> restituisce la porzione di stringa che inizia dalla prima occorrenza del secondo parametro può essere sostituita da substr($haystack, strpos($needle))
Tutte queste funzioni possono essere riprodotte a basso livello considerando la stringa come un vettore di caratteri, ad esmepio:
mixed str_replace ( mixed $search , mixed $replace , mixed $subject [, int &$count ] ) -> implode($replace, explode($search, $subject)) -> in questo caso i parametri devono essere per forza delle stringhe
oppure
string substr ( string $string , int $start [, int $length ] )
function substr_p($string, $start, $length = false){ $len = strlen($string); if($start<0) $start = $len+$start; if($length===false) $length = $len; else $length += $start; $return = ""; for($i=$start;$i<$len && $i<$length;$i++) $return .= $string[$i]; return $return; }
oppure
string strtolower ( string $str ) e string strtoupper ( string $string )
function strtolower_p($str){ $len = strlen($str); for($i=0;$i<$len;$i++) if($str[$i]>="A"&&$str[$i]<="Z") $str[$i] = str[$i]-'a'+'A'; } function strtoupper_p($str){ $len = strlen($str); for($i=0;$i<$len;$i++) if($str[$i]>="a"&&$str[$i]<="z") $str[$i] = str[$i]-'A'+'a'; }
La spiegazione specifica di questi metodi alternativi non è obbiettivo di questa guida, si può vedere un esempio in c di queste funzioni su https://www.thecsea.it/tutorial/2010/07/strtoupper-e-strtolower-in-c/.
php operazioni con le stringhe by cardinale claudio is licensed under a Creative Commons Attribution-ShareAlike 4.0 International License.
Pingback: strpos (posizione di una stringa dentro un’altra stringa) in c « tutorial programmazione