Funções nativas do PHP para deixar seu código mais profissional


Sabemos que PHP é uma linguagem muito utilizada no mundo, com pesquisas que apontam sua existência em mais de 70% dos servidores da internet, seja por CMS, aplicações proprietárias e afins. Então uma linguagem tão poderosa como essa não podeira desapontar em sua vasta opção de funções para evitarmo-nos de reinventar a roda.

Vamos conhecer elas…

filter_input

Essa função está disponível a partir da versão 5.2+


Verifica se a variável externa “email” é enviada para a página PHP, através do método GET, e também se é um endereço de e-mail válido:

<?php
//?email=xxxx@xxx.xx

// Retorna true caso o parâmetro seja válido
if (filter_input(INPUT_GET, "email", FILTER_VALIDATE_EMAIL)) {
    echo("E-mail válido");
} else {
    echo("E-mail inválido");
}

// Valida html
$search_html = filter_input(INPUT_GET, 'search', FILTER_SANITIZE_SPECIAL_CHARS);

// Valida encode url
$search_url = filter_input(INPUT_GET, 'search', FILTER_SANITIZE_ENCODED);

?>

Os tipos de entrada aceitos são:

INPUT_GET
INPUT_POST
INPUT_COOKIE
INPUT_SERVER
INPUT_ENV

Também pode ser usada sem um parâmetro de validação, apenas para checar se ela existe, ou NULL caso não exista:

<?php

//?email=xxxx@xxx.xx

var_dump(filter_input(INPUT_GET, 'email'));
// string(11) "xxxx@xxx.xx" 

var_dump(filter_input(INPUT_GET, 'nome'));
// NULL

?>

filter_var

Disponível a partir da versão 4+

Semelhante ao método filter_input, a diferença é que retorna o dado filtrado ou false se o filtro falhar.

<?php

var_dump(filter_var('xxxx@xxx.com', FILTER_VALIDATE_EMAIL));
// string(15) "xxxx@xxx.xx"xx

var_dump(filter_var('example.com', FILTER_VALIDATE_URL, FILTER_FLAG_SCHEME_REQUIRED));
// bool(false) 

?>

htmlentities e htmlspecialchars

Disponível a partir da versão 4+

Converte todos os caracteres aplicáveis em entidades html.

<?php

$nome = "Maria Pereira <script>window.location = 'xpto'; <script>";

var_dump(htmlentities($nome, ENT_QUOTES));
// string(78) "Maria Pereira &lt;script&gt;window.location = &#039;xpto&#039;; &lt;script&gt;"

var_dump(htmlspecialchars($nome, ENT_QUOTES));
// string(78) "Maria Pereira &lt;script&gt;window.location = &#039;xpto&#039;; &lt;script&gt;"

?>

addslashes

Disponível a partir da versão 4+

Retorna uma string com barras adicionadas antes de caracteres que precisam ser escapados. Estes caracteres são:

aspas simples (‘)
aspas duplas (“)
barra invertida ()
NUL (o byte NUL)

<?php

var_dump(addslashes("Senhora Sant'Ana"));
// string(17) "Senhora Sant\'Ana"

?>

A função addslashes() às vezes é usada incorretamente para tentar prevenir Injeção de SQL. Em vez disso, funções de escape específicas do banco de dados e/ou instruções preparadas devem ser usadas.


stripcslashes

Disponível a partir da versão 4+

Remove barras invertidas de uma string. Reconhece estilo C \n, \r …

<?php

var_dump(stripslashes("Hello \World!"));
// string(12) "Hello World!"

?>

ltrim e rtrim

Disponível a partir da versão 4+

ltrim – Tira o espaço em branco (ou outros caracteres) do início de uma string.
rtrim – Tira o espaço em branco (ou outros caracteres) do fim de uma string.

<?php

var_dump(ltrim("      Hello World!"));
// string(12) "Hello World!"

var_dump(rtrim("Hello World!    "));
// string(12) "Hello World!"

?>

ucfirst, ucwords, strtolower e strtoupper

Disponível a partir da versão 4+

ucfirst — Converte para maiúscula o primeiro caractere de uma string;
ucwords — Converte para maiúsculas o primeiro caractere de cada palavra em uma string;
strtolower — Converte uma string para minúsculas;
strtoupper — Converte uma string para maiúsculas;

<?php

var_dump(ucfirst("hello world! have a nice day..."));
// string(31) "Hello world! have a nice day..."

var_dump(ucwords("hello world! have a nice day..."));
// string(31) "Hello World! Have A Nice Day..."

var_dump(strtolower("HELLO WORLD! HAVE A NICE DAY..."));
// string(31) "hello world! have a nice day..."

var_dump(strtoupper("hello world! have a nice day..."));
// string(31) "HELLO WORLD! HAVE A NICE DAY..."

?>


list

Disponível a partir da versão 7.1+

A função list() é usada para atribuir valores a uma lista de variáveis em uma operação.

<?php

$weapons = array("Bereta","Smith Wesson","Luger", "Taurus");

list($a, $b, $c, $d) = $weapons;

echo "Armas nacionais são $d, internacionais são $a, $b e $c.";
// Armas nacionais são Taurus, internacionais são Bereta, Smith Wesson e Luger.

?>

compact

Disponível a partir da versão 4+

A função compacta cria uma matriz a partir de variáveis e seus valores.

Nota: Antes do PHP 7.3, quaisquer strings que não correspondam a nomes de variáveis serão ignoradas.

<?php

$fabricante = "Taurus";
$modelo     = "PT 59S";
$calibre    = ".380";

$result = compact("fabricante", "modelo", "calibre");

var_dump($result);
/*
array(3) {
  ["fabricante"]=>
  string(6) "Taurus"
  ["modelo"]=>
  string(6) "PT 59S"
  ["calibre"]=>
  string(3) ".380"
}
*/

?>

http_build_query

Disponível a partir da versão 5+

Gera a string de consulta (query) em formato URL a partir de um array associativo (ou indexado):

<?php

$array = [
    "fabricante" => "Taurus",
    "modelo"     => "PT 59S",
    "calibre"    => ".380"
];
              
$url = http_build_query($array);

var_dump($url);
// string(44) "fabricante=Taurus&modelo=PT+59S&calibre=.380"

?>

parse_str

Disponível a partir da versão 4+

Gera a string de consulta (query) em formato URL a partir de um array associativConverte str como se ela tivesse sido passada via URL e define o valor das variáveis:

<?php

$url = "marca=taurus&modelo=revolver&calibre=357mag";

parse_str($url);

echo "Marca: ". $marca. " - Modelo: " .$modelo." - Calibre: ".$calibre;
//Marca: taurus - Modelo: revolver - Calibre: 357mag

?>

Ou pode passar direto para um array:

<?php

$url = "marca=taurus&modelo=revolver&calibre=357mag";

parse_str($url);

$arsenal = array();

parse_str($url, $arsenal);

var_dump($arsenal);
/*
array(3) {
  ["marca"]=>
  string(6) "taurus"
  ["modelo"]=>
  string(8) "revolver"
  ["calibre"]=>
  string(6) "357mag"
}
*/

?>

array_key_exists

Disponível a partir da versão 4+

array_key_exists() retorna true se a chave key existe no array. key pode ser qualquer valor possível para um índice de um array.

<?php

$busca_array = [
    "boina" => "verde",
    "cuturno" => 43
    ];
    
var_dump(array_key_exists("boina", $busca_array));
// bool(true)

?>

array_push

Disponível a partir da versão 4+

Adiciona um ou mais elementos no final de um array:

<?php

$cesta = array("carro", "moto");

array_push($cesta, "jato");

var_dump($cesta);
/*
array(3) {
  [0]=>
  string(5) "carro"
  [1]=>
  string(4) "moto"
  [2]=>
  string(4) "jato"
}
*/

?>
Moeda Tipo Valor
Dollar Compra R$ 5,97
Dollar Venda R$ 5,97
Data 22/01/2025

January 2025
S M T W T F S
 1234
567891011
12131415161718
19202122232425
262728293031