PHP - Arrays

Arrays Unidimensionais


Declaração do array unidimensional:

Declarei a seguinte matriz :
$lista_frutas = ['banana','maça','morango','uva','abacate'];

Mas poderia ser declarada assim:
$lista_frutas = array('banana','maça','morango','uva','abacate');


Dump do array via comando var_dump($lista_frutas)

array(5) {
  [0]=>
  string(6) "banana"
  [1]=>
  string(5) "maça"
  [2]=>
  string(7) "morango"
  [3]=>
  string(3) "uva"
  [4]=>
  string(7) "abacate"
}

Dump do array via comando print_r($lista_frutas)

Array
(
    [0] => banana
    [1] => maça
    [2] => morango
    [3] => uva
    [4] => abacate
)

Adicionando um novo elemento no Array via comando $lista_frutas[] = "abacaxi";

array(6) {
  [0]=>
  string(6) "banana"
  [1]=>
  string(5) "maça"
  [2]=>
  string(7) "morango"
  [3]=>
  string(3) "uva"
  [4]=>
  string(7) "abacate"
  [5]=>
  string(7) "abacaxi"
}



Declarando a matriz unidimensional com indices alfabéticos

$lista_frutas2 = ["a"=>"banana","b"=>"maça","c"=>"morango","d"=>"uva","e"=>"abacate"];
troquei todas as aspas simples por aspas duplas para não dar erro de php

Dump da matriz via var_dump($lista_frutas2)

array(5) {
  ["a"]=>
  string(6) "banana"
  ["b"]=>
  string(5) "maça"
  ["c"]=>
  string(7) "morango"
  ["d"]=>
  string(3) "uva"
  ["e"]=>
  string(7) "abacate"
}

Adicionando item com o comando $lista_frutas2["w"] ="abacaxi";


Dump da matriz via var_dump($lista_frutas2)

array(6) {
  ["a"]=>
  string(6) "banana"
  ["b"]=>
  string(5) "maça"
  ["c"]=>
  string(7) "morango"
  ["d"]=>
  string(3) "uva"
  ["e"]=>
  string(7) "abacate"
  ["w"]=>
  string(7) "abacaxi"
}

Arrays MultiDimensionais


Declaração


$ListaCoisas["frutas"]=array(1=>"banana",2=>"Maça",3=>"Morango",4=>"Uva");
troquei todas as aspas simples por aspas duplas para não dar erro de php

array(1) {
  ["frutas"]=>
  array(4) {
    [1]=>
    string(6) "banana"
    [2]=>
    string(5) "Maça"
    [3]=>
    string(7) "Morango"
    [4]=>
    string(3) "Uva"
  }
}
array(2) {
  ["frutas"]=>
  array(4) {
    [1]=>
    string(6) "banana"
    [2]=>
    string(5) "Maça"
    [3]=>
    string(7) "Morango"
    [4]=>
    string(3) "Uva"
  }
  ["pessoas"]=>
  array(3) {
    [1]=>
    string(5) "João"
    [2]=>
    string(5) "José"
    [3]=>
    string(5) "Maria"
  }
}

Exibindo um valor de um Array MultiDimensional : $ListaCoisas["frutas"][3];


Morango
troquei todas as aspas simples de frutas por aspas duplas para não dar erro de php




Arrays - Método de pesquisa 1

in_array() -retorna true se encontrou
in_array(): 1=Achou, vazio não achou

Procurando maça no array de frutas : in_array("maça",$lista_frutas);
Resposta:1
troquei todas as aspas simples de maça por aspas duplas para não dar erro de php

Procurando maca no array de frutas: echo in_array("maca",$lista_frutas);
Resposta:
troquei todas as aspas simples de maca por aspas duplas para não dar erro de php

Arrays - Métodos de pesquisa 2

array_search() - retorna o indice do array onde o elemento foi encontrado
Retorna null se não encontrou

Procurando por uva na lista de frutas:echo array_search("uva",$lista_frutas);

Resultado: 3
troquei todas as aspas simples de uva por aspas duplas para não dar erro de php

Arrays - Métodos de pesquisa 3-Pesquisa em array multidimensional


Pesquisa 3-Procurando por uva na ListaCoisas[frutas]


array_search("Uva",$ListaCoisas["frutas"]);
troquei todas as aspas simples de Uva e frutas por aspas duplas para não dar erro de php

Resultado: 4

Pesquisa 4-Procurando por uva na ListaCoisas[frutas]


in_array("Uva",$ListaCoisas["frutas"]);
troquei todas as aspas simples de Uva e frutas por aspas duplas para não dar erro de php

Resultado: 1

Funções PHP para Arrays


função is_array()
Devolve true se a variável passada como parâmetro for um array

Testando uma variável tipo string: is_array($var1:String)

Não é um array

Testando uma variável tipo string: is_array($var1:Array)

função is_array()
Testando uma variável tipo array
É um array


função array_keys()

Retorna os indices dos elementos da matriz

Definindo uma matriz var1:
$var1 = array(1=>"dado1",20=>"dado2",70=>"dado3");

dump da matriz: print_r($var1)
Array
(
    [1] => dado1
    [20] => dado2
    [70] => dado3
)
dump do retorno da função array_keys($var1)
Array
(
    [0] => 1
    [1] => 20
    [2] => 70
)


função sort()

Ordena os elementos da matriz em ordem alfabética
Importante : ele retorna true se ordenou ou false se não conseguiu ordenar
Importante : o retorno é feito na mesma matriz que foi ordenada


Definição da matriz original:$var1 = array("capriola","xadrez","abobrinha");

print_r da Matriz original
Array
(
    [0] => capriola
    [1] => xadrez
    [2] => abobrinha
)

Ordenando a matriz:$retorno = sort($var1);

1 significa que conseguiu ordenar a matriz
Resultado da ordenação(1=true):1


dump da matriz ordenada
Array
(
    [0] => abobrinha
    [1] => capriola
    [2] => xadrez
)

Importante:Os elementos são ordenados e terão seus indices originais perdidos

função asort()

Ordena os elementos da matriz em ordem alfabética sem alterar os indices dos elementos
Importante : ele retorna true se ordenou ou false se não conseguiu ordenar
Importante : o retorno é feito na mesma matriz que foi ordenada


Definição da matriz original:$var1 = array("capriola","xadrez","abobrinha");

Matriz original: print_r($var1);
Array
(
    [0] => capriola
    [1] => xadrez
    [2] => abobrinha
)
Resultado da ordenação(1=true):1

dump da matriz ordenada
Array
(
    [2] => abobrinha
    [0] => capriola
    [1] => xadrez
)
Importante:Os elementos são ordenados e terão seus indices originais preservados

função count()

Conta o número de elementos de um array

Definição da matriz original:$var1 = array("capriola","xadrez","abobrinha,"ximbago");

Dum Matriz original: print_r($var1);
Array
(
    [0] => capriola
    [1] => xadrez
    [2] => abobrinha
    [3] => ximbago
)
Resultado da função count:4



função array_merge()

Une / Funde um ou mais arrays


Definição das matrizes:
$var1 = array("windows","linux","os2","VMS");
$var2 = array("SQL Server","Postgre","Oracle","Teradata");
$var3 = array("Internet","Nuvem","Remoto");


Resultado da fusão das matrizes: $fund = array_merge($var1,$var2,$var3);
Array
(
    [0] => windows
    [1] => linux
    [2] => os2
    [3] => VMS
    [4] => SQL Server
    [5] => Postgre
    [6] => Oracle
    [7] => Teradata
    [8] => Internet
    [9] => Nuvem
    [10] => Remoto
)



função explode() - identica ao split do net

Divide um string com um delimitador específico e o resultado é colocado numa matriz

Definição da matriz : $var1 = "windows|linux|os2|VMS";

Resultado da função explode: $fund = explode("|",$var1);
Array
(
    [0] => windows
    [1] => linux
    [2] => os2
    [3] => VMS
)



função implode()

Converte um array em um string

Array original
Array
(
    [0] => windows
    [1] => linux
    [2] => os2
    [3] => VMS
)
Resultado da função implode: implode(",",$fund)
windows,linux,os2,VMS