A função strtolower()
transforma as letras maiúsculas de uma string em minúsculas. Veja um exemplo:
$nome = "Gustavo Guanabara";
$str = strtolower($nome);
echo "Seu nome é $str.";
A função strtoupper()
é o contrário, transforma as minúsculas em maiúsculas, da mesma forma:
$nome = "Gustavo Guanabara";
$str = strtoupper($nome);
echo "Seu nome é $str.";
O ucfirst()
coloca apenas a primeira letra da string em maiúscula, sem alterar as demais. Como exemplo;
$nome = "gustavo guanabara";
$str = ucfirst($nome);
echo "Seu nome é $str.";
A função ucwords()
funciona do mesmo método, só que ela coloca a primeira letra maiúscula de todas as palavras. Veja o exemplo:
$nome = "Gustavo guanabara";
$str = ucwords($nome);
echo "Seu nome é $str.";
PS: Para diminuir as outras letras do ucfirst() ou do ucwords(), podemos usar o strtolower() integrado, dessa forma:
$nome = "GUSTAVO GUANABARA";
$str = ucwords(strtolower($nome));
echo "Seu nome é $str.";
A strrev()
simplesmente inverte uma string de trás pra frente, por exemplo:
$nome = "Gustavo guanabara";
$str = strrev($nome);
echo $str;
A função strpos()
diz em qual posição a string foi encontrada (posição de caracteres, contada a partir do 0). Veja um exemplo:
$frase = "Estou aprendendo PHP!";
$pos = strpos($frase, "PHP");
echo "A string foi encontrada na posição $pos";
PS: Esse método diferencia maiúsculas e minúsculas, se ele não encontrar valor, retornará false (uma variável vazia). Para resolver isso, basta usar o stripos()
(atenção ao i depois do r), que ignorará essa diferenciação.
O método pode ser jogado numa condicional para encontrar uma palavra:
$frase = "Estou aprendendo PHP!";
$posicao = strpos($frase, "PHP");
if($posicao !== false) {
echo "Palavra encontrada.";
}
else {
echo "Palavra não encontrada.";
}
O substr_count()
indica quantas vezes uma palavra é encontrada numa string, por exemplo:
$frase = "Estou aprendendo PHP no Curso em Vídeo de PHP!";
$cont = substr_count($frase, "PHP");
print("PHP encontrado $cont vezes.");
A substr()
pega as letras desejadas de uma string, pelo número das posições 1 e 2 (lembrando que se conta do 0) e joga em outra variável. Veja um exemplo:
$site = "Curso em Vídeo";
$sub = substr($site, 0, 5);
echo $sub;
PS: Se esquecer um dos números, ele contará a partir desse e irá até o final. E se o primeiro número for negativo, ele contará da última pra primeira, mas o segundo número pegará as primeiras letras selecionadas.
A função str_pad()
é usada para completar um espaço de uma string com quantidade de caracteres pré-definida. Veja no exemplo que uma string será completada com espaços até atingir 30 caracteres:
$nome = "Guanabara";
$novo = str_pad($nome, 30, " ", STR_PAD_RIGHT);
echo "O seu nome é $novo!";
O parâmetro STR_PAD_RIGHT
define que será adicionado à direita, o STR_PAD_LEFT
à esquerda e o STR_PAD_BOTH
os centralizam.
A função str_repeat()
simplesmente repete uma string, escolhendo a quantidade de repetições, por exemplo:
$txt = str_repeat("PHP ", 5);
echo $txt;
A função str_replace()
é usado para substituir uma palavra em uma string:
$frase = "Gosto de estudar Matemática! Matemática é muito legal!";
$novaFrase = str_replace("Matemática", "PHP", $frase);
echo $novaFrase;
PS: Ele diferencia maiúsculas e minúsculas, mas isso pode ser resolvido com um "i" antes do replace, que é a função str_ireplace()
. Aí sim não terá esse problema de inicialização.
Podemos também verificar a versão do PHP e se o servidor está funcionando, digitando apenas phpinfo()
.
As variáveis compostas (arrays) contém espaços dentro de uma mesma variável com valores distintos, sendo contados a partir do 0. Mas no PHP não existe declaração de vetores, eles são identificados automaticamente, veja um exemplo no qual ele criou automaticamente:
$n[0] = 3;
$n[1] = 5;
$n[2] = 8;
$n[3] = 2;
Os vetores em PHP são dinâmicos, ou seja, ele só usa as posições ocupadas por valores, sendo aumentadas quando inserimos novos valores ou diminuídas quando os retiramos.
Também podemos criar os mesmos vetores usando a palavra-chave array
. Veja um exemplo do código acima , mas criado dessa forma:
$n = array(3, 5, 8, 2);
Para verificar se um array realmente é array, podemos fazer assim, usando a função is_array()
:
$n = array(3, 5, 8, 2);
echo is_array($n) ? "true" : "false";
Também podemos adicionar novos valores, colocando simplesmente depois da vírgula os novos valores, ou podemos declarar novamente a variável com colchetes vazios, assim:
$n = array(3, 5, 8, 2);
$n[] = 7;
Também podemos usar no lugar do array, o range
, só que esse cria uma contagem, no qual você escolhe os números e o intervalo dos mesmos. Veja um exemplo no qual ele conta de 5 até 20:
$c = range(5, 20, 2);
print_r($c);
No caso acima, o primeiro número é o início e o segundo o final, o terceiro é o intervalo.
Temos também a função foreach
(ou for it), usado para correr todos os elementos do array, veja um exemplo de como usá-lo:
$c = range(5, 50, 3);
foreach($c as $v) {
echo "$v ";
}
Dessa forma, podemos formatar ele em HTML, como numa tabela. Uma dica é colocar a supertag PHP dentro de tags pre.
Podemos também definir o número inicial e também os outros números aleatórios, sem que ele crie posições "vazias" entre eles (e não precisam ser necessariamente em ordem crescente), dessa forma:
$v = array(1 => "A", 3 => "B", 6 => "C", 8 => "D");
print_r($v);
PS: O símbolo =>
é de associação, não confunda com o símbolo de igual ou maior.
Também podemos adicionar novos valores pré-definindo a posição do vetor
$v = array(1 => "A", 3 => "B", 6 => "C", 8 => "D");
$v[10] = "E";
print_r($v);
Para desalocar um vetor, usamos o unset()
com o vetor dentro dos parênteses, por exemplo:
$v = array(1 => "A", 3 => "B", 6 => "C", 8 => "D");
unset($v[6]);
print_r($v);
Temos também as chaves associativas, que também podem ser contadas por strings, e ter valores de tipos diferentes. Por exemplo:
$cad = array("Nome" => "Ana", "Idade" => 23, "Peso" => 78.5);
$cad["Fuma?"] = true;
print_r($cad);
PS: Mesmo arrays comuns podem ter tipos misturados dentro deles.
Também podemos adicionar valores booleanos nele, mas ele mostrará valor 1 pra true e nada pra false.
Veja o código acima com o foreach():
$cad = array("Nome" => "Ana", "Idade" => 23, "Peso" => 78.5);
foreach($cad as $k => $c) {
echo "O campo $k possuí o conteúdo $c.<br/>";
}
Já as matrizes, tecnicamente não existem em PHP, elas na verdade são vetores dentro de vetores.
$n = array(array(2, 3), array(3, 4), array(9, 5));
print_r($n);
No código acima, é como se tivesse um array com três elementos, e cada um desses elementos tem dois elementos dentro.
Essa seria a "estrutura" da matriz acima:
2 | 3 |
3 | 4 |
9 | 5 |
Lembrando que começa com 0 as contagens. Para mudar um elemento do array, podemos usar esse código para mudar o número 9 (posição coluna 2, linha 0) pelo 4 (posição e colunas 1).
$n[2][0] = $n[1][1];
Vejamos outro exemplo:
$m = array(array(6, 4), array(4, 9), array(3, 2));
$m[0][1] = $m[2][0];
print_r($m);
Nesse caso, substituímos o 4 da primeira linha por três (localizado na terceira).
Usar estruturas de repetição é uma forma que podemos usar para exibir todos os valores de arrays.
Vetores:
$vet = array(0, 1, 2, 3);
for($l = 0; $l < count($vet); $l++) {
echo $vet[$l] . " ";
}
Matrizes:
$matr = array(array(0, 1, 2, 3), array(10, 11, 12, 13));
for($l = 0; $l < 2; $l++) {
for($c = 0; $c < 4; $c++) {
if($c < 4 - 1) {
echo $matr[$l][$c] . " ";
}
else {
echo $matr[$l][$c] . "<br/>";
}
}
}
PS: O mais recomendado é usar o foreach em vetores, mesmo quando os índices estão na contagem numérica normal, por exemplo:
$vet = array(0, 1, 2, 3);
foreach($vet as $l) {
echo "$l ";
}
Forma na qual usamos arrays para exibir dias da semana:
$semana = array("Domingo", "Segunda-feira", "Terça-feira", "Quarta-feira", "Quinta-feira", "Sexta-feira", "Sábado");
echo $semana[date("w")];
E da mesma forma, para exibir nomes de meses:
$mes = array("Janeiro", "Fevereiro", "Março", "Abril", "Maio", "Junho", "Julho", "Agosto", "Setembro", "Outubro", "Novembro", "Dezembro");
echo $mes[date("m") - 1];
Às vezes, precisamos saber como o vetor está preenchido, mesmo que não for mostrado ao usuário final, como já vimos anteriormente. Só pra relembrar:
$v = array("A", "J", "M", "X", "K");
print_r($v);
No lugar do print_r, podemos usar var_dump()
, que mostrará também o conteúdo dos vetores e a quantidade de elementos deles. Veja um exemplo:
$v = array("A", "J", "M", "X", "K");
var_dump($v);
Também podemos usar o count()
para exibir apenas a quantidade de elementos de um array, assim:
$v = array("A", "J", "M", "X", "K");
$tot = count($v);
echo "O vetor tem $tot elementos.";
PS: O count também pode ser usado em laços for, na condição de parada. No caso acima, ao invés de $i < 5
, usamos $i < count($v)
, ou podemos também usar a variável $tot criada.
Veja mais um exemplo de como a adição de elementos do array funciona:
$v = array("A", "J", "M", "X", "K");
print_r($v);
$v[] = "O";
print_r($v);
Também podemos usar o array_push()
para isso, dessa forma:
$v = array("A", "J", "M", "X", "K");
array_push($v, "O");
print_r($v);
E temos também o array_pop()
para eliminar o último elemento do vetor, assim:
$v = array("A", "J", "M", "X", "K");
array_pop($v);
print_r($v);
A função array_unshift()
age como o array_push, só que este coloca no início do array. O array_shift()
retira o primeiro elemento, parecido com o array_pop().
$v = array("A", "J", "M", "X", "K");
array_unshift($v, "O");
print_r($v);
array_shift($v);
print_r($v);
Esse é um resumo das últimas funções:
Função | Significado no Array |
---|---|
array_unshift() | Coloca Elemento no Começo |
array_shift() | Tira Elemento no Começo |
array_push() | Coloca Elemento no Final |
array_pop() | Tira Elemento no Final |
Para adicionar um índice numa posição especifica, usamos o array_splice()
, cujos parâmetros são na ordem variável, posição, remoção de itens e dado, usado dessa forma:
$v = array("A", "J", "M", "X", "K");
array_splice($v, 2, 0, "U"); // Variável, posição, remoção e dado.
print_r($v);
Usamos o array_search()
para encontrar a posição onde está um valor específico, assim:
$v = array("A", "J", "M", "X", "K");
echo array_search("X", $v);
E podemos usar ele em conjunto com o in_array()
, este verifica se um item existe no array, dessa forma:
$v = array("A", "J", "M", "X", "K");
if(in_array("X", $v)) {
echo "X encontrado na posição: " . array_search("X", $v);
}
Para excluir uma posição específica do array, usamos o unset()
, assim:
$v = array("A", "J", "M", "X", "K");
unset($v[4]);
print_r($v);
Para colocar os vetores em ordem, usamos a função sort()
, os índices não mudam a ordem. Por exemplo:
$v = array("A", "J", "M", "X", "K");
print_r($v);
sort($v);
print_r($v);
Para ordenar de ordem reversa, usamos o rsort()
(apenas um r na frente do sort).
Temos também o asort()
para ordenações associativa, nesse caso o índice de cada número permanece, mesmo se ficarem fora de ordem.
$v = array("A", "J", "M", "X", "K");
print_r($v);
asort($v);
print_r($v);
Temos também a ordenação associativa reversa, que funciona da mesma forma, só que reversa, que é o arsort()
.
Existe também a ordenação por chaves, com o ksort()
, que ordena os índices. Veja um exemplo:
$v = array(2 => "A", 5 => "J", 0 => "M", 3 => "X", 4 => "K");
print_r($v);
ksort($v);
print_r($v);
E também podemos reverter ele, usando o krsort()
, que funciona da mesma forma, só que reversa.