Se você trabalha com desenvolvimento web ou já utiliza a plataforma PHP a algum tempo, já deve ter notado a referência “Array” em algum momento da sua utilização.
E foi justamente pensando nisso, que resolvemos criar este artigo para explicar um pouco sobre o que é o PHP in Array e para que serve essa função digital.
O que são os Arrays?
Um array no PHP é na verdade um mapa ordenado. Um mapa é um tipo que relaciona valores a chaves. Este tipo é otimizado para várias usos diferentes: ele pode ser tratado como um array, uma lista (vetor), hashtable (que é uma implementação de mapa), dicionário, coleção, pilha, fila e provavelmente mais. Assim como existe a possibilidade dos valores do array serem outros arrays, árvores e arrays multidimensionais.
A explicação dessas estruturas está além do escopo desse manual, mas pelo menos um exemplo é dado para cada uma delas.
Um array pode ser criado com o construtor de linguagem array(). Ele leva qualquer quantidade de pares separados por vírgula chave => valor como argumentos.
array(
chave => valor,
chave2 => valor2,
chave3 => valor3,
...
)
A vírgula após o último elemento do array é opcional e pode ser omitida. Isso geralmente é feito para arrays em uma única linha, por exemplo, array(1, 2) é preferível em vez de array(1, 2, ). Para arrays escritos em várias linhas, por outro lado, a vírgula a direita do último elemento é usada frequentemente, para permitir a adição de forma simples de novos elementos ao final.
A partir do PHP 5.4 você também pode utilizar a sintaxe contraída de array, que troca array() por [].
Exemplo #1 Um array simples
<?php
$array = array(
"foo" => "bar",
"bar" => "foo",
);
// a partir do PHP 5.4
$array = [
"foo" => "bar",
"bar" => "foo",
];
?>
A chave pode ser um inteiro ou uma string. O valor pode ser de qualquer tipo.
Adicionalmente, as seguintes coerções ocorrerão a chave:
Strings contendo inteiros válidos, serão convertidos para o tipo inteiro. Por exemplo, a chave”8″ será, na verdade, armazenada como 8. Entretanto, “08” não será convertido, por não ser um inteiro decimal válido.
Floats também são convertidos para inteiros, isso significa que a parte fracionada será removida. Por exemplo, a chave 8.7 será na verdade armazenada como 8.
Booleanos são convertidos para inteiros, igualmente, por exemplo, a chave true, será na verdade armazenada como 1 e a chave false como 0.
Null será convertido para uma string vazia, por exemplo, a chave null na verdade será armazenada como “”.
Arrays e objetos não podem ser usados como chaves. Fazer isso resultará em um aviso: Illegal offset type.
Se vários elementos na declaração do array utilizam a mesma chave, apenas o último será utilizado, enquanto todos os outros serão sobrescritos.
É possível converter qualquer tipo de valor para Array?
Para qualquer dos tipos: integer, float, string, boolean e resource, converter um valor para um array, resultará em um array com um único elemento com índice zero e valor escalar convertido. Em outras palavras, (array)$scalarValue é exatamente o mesmo que array($scalarValue).
Se um objeto é convertido para um array, o resultado será um array em que seus elementos serão as propriedades do objeto. As chaves serão o nome das propriedades com pequenas notáveis exceções: propriedades inteiras serão inacessíveis; variáveis privada tem o nome da classe prefixando o nome da variável; variáveis protegidas tem um ‘*’ prefixando o nome da variável. Estes prefixos tem bytes nulos em ambos os lados. Isto pode resultar em algum comportamento inesperado:
<?php
class A {
private $A; // This will become '\0A\0A'
}
class B extends A {
private $A; // This will become '\0B\0A'
public $AA; // This will become 'AA'
}
var_dump((array) new B());
?>
Acima aparecem duas chaves chamadas ‘AA’, embora uma delas é, na verdade, nomeada ‘\0A\0A’.
Converter um valor NULL para um array, você terá um array vazio.
Agora que você sabe o que é o PHP in Array e como ele funciona, que tal fazer um teste de 30 dias grátis para um serviço de hospedagem de site com centenas de extensões php disponível?
Visite: https://www.hostec.com.br/hospedagem-de-sites e faça um teste gratuito!
- Leia também: Como começar a programar em PHP?
- Leia também: O que é PHP Fig e como funciona?
- Leia também: O que há de novo na versão 7.4 do PHP?