Manexo de Cadeas

De Manuais Informática - IES San Clemente.
Ir a la navegación Ir a la búsqueda


Dado o uso da linguaxe PHP o tratamento de cadeas é moi importante, existen bastantes funcións para o manexo de cadeas, a continuación explicaremos as máis usadas ademais das características principais do tipo de datos "cadea".

As Cadeas

Un valor "string" é unha serie de caracteres.

As cadeas de caracteres pódense especificar empregando un dos seguintes tipos de delimitadores:

Comiñas simples

A forma mais simple de especificar un string é rodeala de comiñas simples (o carácter ' ).

Para especificar una comiña sinxela nun string, precísase "escapala" cunha barra invertida (\). Para especificar unha barra invertida literal antes dunha comiña sinxela, ou ao final da cadea, débese de repetir do seguinte xeito (\\). Coas comiñas simples non se escapa ningún outro carácter.

Vexamos un exemplo:

<?php

echo 'esta é unha cadea simple';
echo '<br />';

// Imprime: Arnold dixo unha vez: "I'll be back"
echo 'Arnold dixo unha vez: "I\'ll be back"';
echo '<br />';

// Imprime: Eliminaches 'C:\*.*'?
echo 'Eliminaches \'C:\\*.*\'?';
echo '<br />';

// Imprime: Eliminaches C:\*.*?
echo 'Eliminaches C:\*.*?';
echo '<br />';

// Imprime: Aquí non vai \n unha nova liña
echo 'Aquí non vai \n unha nova liña';
echo '<br />';

// Imprime: As variables non se $expanden $tampoco
echo 'As variables non se $expanden $tampoco';
echo '<br />';

?>

Comiñas dobres

Se o valor string está rodeado de comiñas dobres ("), PHP interpretará más secuencias de escape para caracteres especiales:

  • \n ---- Nova liña
  • \r ---- Retorno de carro
  • \t ---- Tabulación horizontal
  • \v ---- Tabulación vertical
  • \f ---- Alimentación de forma
  • \\ ---- Barra invertida
  • \$ ---- Signo de dólar
  • \" ---- Comiña-dobre

Funcións para o manexo de cadeas

  • strlen(cadea) -> Devólvenos o número de caracteres dunha cadea.
  • explode(separador,cadea) -> Devolve un array que contén en cada posición do mesmo as partes da cadea separadas por separador.
  • substr_count -> Conta o número de veces que aparece un string dentro de outro.
  • trim(cadea) -> Elimina os espazos á esquerda e á dereita dunha cadea. Se queremos eliminar só os espazos da esquerda temos ltrim(cadea) e só os da dereita temos rtrim(cadea), neste último caso fai o mesmo a función chop.
  • strtoupper -> Pasa a maiúsculas todos os caracteres dun texto.
  • strtolower -> Pasa a minúsculas todos os caracteres dun texto.
  • ucwords -> A primeira letra de todas as palabras se pasarán a maiúsculas.
  • strrev -> Pon o texto á inversa.
  • preg_split -> Divide un string mediante una expresión regular, devolviendo un array.


Máis información sobre manexo de cadeas en PHP.

Vexamos un exemplo no que se empregarán moitas destas funcións:

<html> 
<head> 
<title>Exemplo de PHP</title> 
</head> 
<body> 

<?php 

echo strlen("12345"),"<br />"; 
echo '<hr />';
 
$palabras=split(" ","Isto é unha proba");
for($i=0;$i<count($palabras);$i++) 
	echo $palabras[$i],"<br />";  
echo '<hr />';
 
//Os strings compórtanse como arrays de letras
$frase="Xoana ten un can";
for($i=0;$i<strlen($frase);$i++) 
	echo $frase[$i],"<br />"; 
echo '<hr />';
 
$resultado=sprintf("8x5 = %d <br />",8*5); 
echo $resultado,"<br />"; 
echo '<hr />';
 
echo substr("Devolve unha subcadea doutra",9,3),"<br /><br />"; 
echo '<hr />';
 
if (chop("Cadea \n\n ") == "Cadea") 
	echo "As cadeas son Iguais<br /><br />"; 
echo '<hr />';
 
echo strpos("Busca a palabra dentro da frase", "palabra"),"<br /><br />"; 
echo '<hr />';
 
echo str_replace("verde","vermello","Un peixe de cor verde, como verde é o prao."),"<br />"; 

?>  

</body> 
</html>


--Veiga (discusión) 19:10 7 oct 2013 (CEST)