Clique sobre os tópicos listados abaixo para navegar até o conteúdo desejado.

  1. Matriz
  2. Declaração
  3. Acessando/alterando elemento
  4. Quantidade elementos
  5. Percorrendo matriz
  6. Copiando matriz
  7. Comparando matrizes
  8. Parâmetro, argumento e retorno
  9. Filtrar elementos
  10. Funções para manipular Array

Matriz ou vetor bidimensional estáticos, são vetores contido dentros de vetores. Suas dimensões podem ser vistas como linhas e colunas que armazenazem elementos justapostos.

Em PHP, assim como para vetores, as matrizes podem armazenar elementos cujos tipos de dados são heterogêneos.

Tab. 2: Abstração de uma matriz de int
L/C 0 1 2
0 10 20 30
1 40 50 60
2 70 80 90

As operações mais complexas que envolvem vetores, devem ser realizadas utilizando as função de PHP Básico: Array.

Uma matriz na linguagem PHP é declarada de acordo com a sintaxe abaixo. Nessa sintaxe as linhas de uma matriz são representadas por vetores separados por (,) e cada elemento dos vetores representam as colunas.

Sintaxe 1
$variavel = array
(
 array(elem1, elemN), //Linha 1
 array(elem1, elemN), //Linha 2
 array(elem1, elemN)  //Linha N
);
Sintaxe 2
$variavel = [
    [elem1,elemN],
    [elem1,elemN]
];
Exemplo 1
<?php
  $array1 = [
      [1,"string"],
      [1.99,'X']
  ];
  
  $array2 = array(
    array(1,"string"),
    array(1.99,'X')
  ); 
?>
Saída
-

O acesso aos elementos de matriz é feito utilizando suas linhas e colunas que são passados como argumento para o indexador [] como mostrado abaixo:

Sintaxe
$nome_variavel[linha][coluna];
Exemplo 2
<?php
  $array = [
      [1,"string"],
      [1.99,'X']
  ];
  
  echo $array[0][0],$array[0][1],"\n";
  echo $array[1][0],$array[1][1],"\n";
?>
            
Saída
1string
1.99X

A alteração de uma elemento de uma matriz é feita acessando um dado elemento por sua linha e coluna utilizando o indexador []. A atribuição é feita utilizando o operador (=):

Sintaxe
matriz[linha][coluna] = valor;
Exemplo 2
<?php
  $array = [
      [1,"string"],
      [1.99,'X']
  ];

  echo $array[0][0],"\n";
  $array[0][0] = 100;
  echo $array[0][0],"\n";
?>
Saída
1
100

Como uma matriz é uma vetor de vetores, utilizando o atributo count , podemos descobrir o número de elementos que esse uma matriz possui.

Sintaxe
count(array $value, int $mode = COUNT_NORMAL): int
Sintaxe
count(array[dimensao])
Exemplo 3
<?php
  $matriz = [
      [1,"string"],
      [1.99,'X']
  ];

  echo count($matriz[0]),"\n";
  echo count($matriz[1]),"\n";
?>
Saída
2
2

Para iterarmos ou percorrermos uma matriz em PHP podemos utilizar o comando for que foi estudado em PHP Básico: Comandos de repetição.

Exemplo 4
<?php
$matriz = [
      [1,"string"],
      [1.99,'X']
  ];

  for($i = 0 ; $i < count($matriz[0]) ; $i++){
    for($j = 0 ; $j < count($matriz[1]) ; $j++){
        echo $matriz[$i][$j],"\t";
    }
    echo "\n";
  }   
?>
Saída
1	string	
1.99	X

Podemos utilizar também o comando foreach como na sintaxe abaixo:

Exemplo 5
<?php
  $matriz = [
      [1,"string"],
      [1.99,'X']
  ];

  foreach($matriz as $linha){
    foreach($linha as $valor_coluna){
      echo $valor_coluna,"\t";
    }
    echo "\n";
  }
?>
Saída
1	string	
1.99	X

Na linguagem PHP, podemos copiar uma matriz utilizando apenas o operador (=), assim como vetores, como pode ser visto na sintaxe abaixo:

Sintaxe
$matriz_destino = $matriz_origem;
Exemplo 6
<?php
$mat1 = [
      [1,"string"],
      [1.99,'X']
  ];

$mat2 = $mat1;

foreach($mat2 as $linha){
  foreach($linha as $valor_coluna){
    echo $valor_coluna,"\t";
  }
  echo "\n";
}
?>
Saída
1	string	
1.99	X

Existem outras formas para copiar o conteúdo de uma array, porém serão vistas em futuras atualizações.

  1. 22/08/2025 - revisão 3 - Ajustes: pontuais, sintaxes, Ex.4 e targets de links
  2. 22/09/2024 - revisão 2 - Correção: sintaxes 'Acessando/alterando', 'Tamanho', Ex. 3; ajustes pontuais
  3. 05/02/2024 - revisão 1 - correção em navegação e erros gramaticais
  4. 20/09/2023 - versão inicial