DevSecOps

10 ago, 2007

Biblioteca de Funções – Parte 02

Publicidade

Olá amigos! Estou de volta com a 2ª parte da Biblioteca de Funções. Nesse artigo continuaremos falando sobre funções utilizadas no tratamento de strings, mas agora as funções estarão relacionadas a arrays e comparação entre strings.

Funções utilizadas no tratamento de strings

Funções relacionadas a arrays

Trabalhar com arrays pode ser tornar uma tarefa muito complicada quando não se conhece bem o seu funcionamento, mas pode se tornar muito simples quando se entende como funcionam e mais simples ainda quando as funções de manipulação de array são utilizadas, fazendo com que a precisão na obtenção dos dados seja perfeita.

Vejamos algumas funções.

Implode e join

string implode(string separador, array partes);

       string join(string separador, array partes); 

As funções Implode e Join são iguais. Resultam em uma string que contém os elementos do array fornecido separados pela string também fornecida na função.

Exemplo 1:

       <?php

       $array = array('nome', 'cidade', 'email');

       $resultado = implode(",", $array);

       print $resultado; // nome,cidade,email

       ?> 

Exemplo 2:

      <?php

       $elementos = array("juntando", "elementos", "de", "um", "array");

       $frase = join(" ",$elementos);

       print $frase; // juntando elementos de um array

       ?>

Split

    array split(string padrao, string str, int [limite]); 

O valor retornado será um array e seu conteúdo será formado por partes da string fornecida, separadas pelo padrão fornecido, sendo possível dar limite ao número de elementos do array.

Exemplo 1:

       <?php

       $data = "08/03/2007";

       $data_array = split("/",$data);

       ?> 

       $data_array passa a conter o array: array(08,03,2007); 

Explode

       array explode(string padrão, string str); 

Seu funcionamento é bastante semelhante à função split, porém, é impossível estabelecer um limite para o número de elementos do array.

Exemplo 1:

      <?php 

      $nomes = "joão pedro carlos maria josé carlos";

      $lista = explode(" ", $nomes);

      print $pieces[0]; // joão

      print $pieces[1]; // pedro

      ?>

Comparações entre strings

Similar_text

int similar_text(string str1, string str2, double [porcentagem]); 

Compara as duas strings fornecidas e retorna o número de caracteres coincidentes. Opcionalmente pode ser fornecida uma variável, passada por referência, que receberá o valor do percentual de igualdade entre as strings. Essa função é case sensitive, ou seja, maiúsculas e minúsculas são tratadas como diferentes.

Exemplo 1:

       $txt = similar_text("teste", "testando",&$porc); 

       As variáveis passam a ter os seguintes valores: 

       $txt == 4; #quantidade de caracteres iguais entre as strings

       $porc == 61.538461538462; #percentual de igualdade entre as strings

Strcasecmp

int strcasecmp(string str1, string str2); 

Compara as duas strings e retorna 0 (zero) se forem iguais, um valor maior que zero se a str1 for maior que a str2, e um valor menor que zero se str1 for menor que a str2. Esta função é case insensitive, ou seja, maiúsculas e minúsculas são tratadas como iguais.

Exemplo 1:

<?php

      $var1 = "Olá";

      $var2 = "olá";

      if (strcasecmp($var1, $var2) == 0) {

      echo '$var1 é igual a $var2 numa comparação sem diferenciar maiúsculas e minúsculas';

      }

      ?> 

Strcmp

    int strcasecmp(string str1, string str2); 

O funcionamento dessa função é semelhante ao da anterior, porém ela é case sensitive.

Exemplo 1:

      <?php

      $var1 = "Olá";

      $var2 = "olá";

      if (strcasecmp($var1, $var2) == 0) {

      echo '$var1 é diferente a $var2 numa comparação diferenciando-se maiúsculas e minúsculas';

      }

      ?>

Strstr e Strchr

       string strstr(string str1, string str2);

       string strchr(string str1, string str2); 

As duas funções são idênticas. Procura a primeira ocorrência de str2 em str1. Se não encontrar, retorna uma string vazia, e se encontrar retorna todos os caracteres de str1 a partir desse ponto. Cuidado, essas funções são case sensitives.

Exemplo 1:

       strstr("Localizando partes de uma string", "ar"); // retorna "artes de uma string"

Stristr

       string stristr(string str1, string str2); 

Funciona de maneira semelhante à função strstr, com a diferença que esta é case insensitive, ou seja, maiúsculas e minúsculas são tratadas como iguais.

Exemplo 1:

      <?php

      $email = 'USUARIO@EXEMPLO.com.br';

      $dominio = stristr($email, 'a');

      print $domain; // retornará ARIO@EXEMPLO.com.br

      ?>

Strpos

       int strpos(string str1, string str2, int [offset] ); 

Retorna a posição da primeira ocorrência de str2 em str1, ou zero se não houver. O parâmetro opcional offset determina a partir de qual caracter de str1 será efetuada a busca. Mesmo utilizando o offset, o valor de retorno é referente ao início de str1.

Exemplo 1:

<?php

$meutexto = 'abcde';

$localizar = 'a';

$pos = strpos($meutexto, $localizar);

/* Note o uso de ===. Simples == não funcionaria como esperado por causa da posição de 'a' é 0 (primeiro) caractere.*/

if ($pos === false)

{

echo "A string '$localizar' não foi encontrada na string '$meutexto'";

}

else

{

echo "A string '$localizar' foi encontrada na string '$meutexto'";

echo " e existe na posição $pos";

}

?>

Mais um artigo concluído, mais uma vitória alcançada. Que a minha vitória seja a sua vitória e que a sua vitória seja o sucesso de todos.

Até o próximo artigo!