Tableless

Busca Menu

Constant Array no PHP 7

Seja o primeiro a comentar por

Até o lançamento da versão do PHP 7, só era possível criar constantes com dados do tipo inteiro, float, string, boolean, ou NULL, mas com o PHP 7 agora é possível criar constantes do tipo array.

Vamos lá. Definindo uma constante:

define("CONSTANT", "Olá Constantes.");
echo CONSTANT; // Resultando em: "Olá Constantes."

Com o PHP 7 criando uma constante do tipo array (matrizes)

Exemplo de constante array:

// array simples:

define("CONSTANT_ARRAY", ['pera', 'uva', 'maça',]);
echo 'Eu gosto de comer ' . CONSTANT_ARRAY[1];
// Resultando em: "Eu gosto de comer uva"

Também é possível usar arrays multidimensionais:

Exemplo de constante array multimensional:

// array multidimensional:
define("CONSTANT_ARRAY_MULTIDIMENSIONAL", [
'frutas' => ['pera', 'uva', 'maça',],
'carros' => ['fusca', 'chevette', 'passat',],
'mulheres' => ['loira', 'ruiva', 'morena',],
]);
echo 'Eu gosto de comer ' . CONSTANT_ARRAY_MULTIDIMENSIONAL['frutas'][1];
// Resultando em: "Eu gosto de comer uva"
echo '<br>';
echo 'meu carro é um ' . CONSTANT_ARRAY_MULTIDIMENSIONAL['carros'][2];
// Resultando em: "Meu carro é um passat"
echo '<br>';
echo 'As ' . CONSTANT_ARRAY_MULTIDIMENSIONAL['mulheres'][0] . 's são mais bonitas.';
// Resultando em: "As loiras são mais bonitas."

Só lembrando, as constantes são case sensitive, ou seja, se você declarou a mesma em letras maiúsculas, só poderá usá-la com letra maiúscula.

Usando a sintaxe const

Também é possível utilizar a sintaxe const para criar uma constante no PHP, mas essa só poderá ser usada dentro de uma classe:

class MinhaClasse
{
const MINHACONSTANTE = ['pera', 'uva', 'maça',];

public static function constante() {
return self::MINHACONSTANTE;
}
}

No exemplo acima usei um array simples, a mesma usado no primeiro exemplo, mas agora dentro da classe MinhaClasse.

Seu uso seria algo assim:

$meuArray = MinhaClasse::constante();
print_r($meuArray);

O código acima irá imprimir:

Array ( [0] => pera [1] => uva [2] => maça )

Constant Class PHP com array

Lembrando que, para obter sucesso com os exemplos acima, é necessário ter a versão 7 do PHP ou superior. As demais versões não dão suporte á constantes do tipo array.

No exemplo, também foi usado a short sintaxe do array. Você também pode usar a sintaxe antiga, mas é uma questão de gosto pessoal. Eu, particularmente, quando escrevo um array, sempre procuro usar a versão curta. Além de ser mais bonita e simples, também se aproxima de outras linguagens, como o JavaScript, por exemplo.

Publicado no dia