Programação WEB I Aula 6 Arrays – Visão profunda sobre o assunto ARRAYS Programação WEB I Array: É um lugar identificado com um nome para armazenar um conjunto de valores Arrays numericamente indexados; Arrays associativos; Arrays multidimensionais; Classificando Arrays. Programação WEB I Arrays Numericamente Indexados Trigo oleo Margarina Programação WEB I Arrays Numericamente Indexados IMPRIMINDO ARRAYS Para acessar o conteúdo de uma variável, utilize o nome dela. Se a variável for um array, acesse o conteúdo utilizando o nome e uma chave ou índice. A chave ou índice indica quais valores armazenados acessamos. índice Trigo Oleo Margarina Programação WEB I Arrays Numericamente Indexados Para substituir conteúdo dos elementos do array, atribui-se “=” . [0] [1] [2] $produto= Trigo Oleo Margarina $produto[1] = Sal; $produto[2] =oleo [0] [1] [2] Trigo sal oleo Programação WEB I Arrays Numericamente Indexados Podemos também criar um array da seguinte forma: Trigo arroz sal Loops para acessar o array: Não precisa digitar todos os elementos conforme o exemplo anterior Programação WEB I Arrays Numericamente Indexados Impressão com o laço de repetição foreach Utilizado somente para trabalhar com arrays(vetores) Armazena cada elemento na variável $array e o imprime. Não precisa utilizar variável de incremento Programação WEB I Arrays Associativos No modo anterior apresentado, mostramos o índice padrão do PHP. Isso significa que o primeiro índice tornou-se 0. No associativo, podemos associar qualquer chave ou índice que quisermos com cada valor. Acessamos: [trigo] [oleo] [margarina] 1.90 1.45 2.9 9 Arrays Associativos Programação WEB I Modos de criar um array associativo Ele cria um array com um elemento e depois acrescenta os outros dois. Arrays Associativos Programação WEB I IMPORTANTE: Usando Loops Como os índices desse array não são números, não podemos utilizar um contador simples em um loop for para trabalhar com array. Arrays Associativos Programação WEB I Utilizando loops com each( ) e list( ) Como os índices nesse array associativo não são números, não podemos utilizar um contador simples em um loop for para trabalhar com a matriz. Retorna o elemento atual em um Array e atualiza o próximo elemento . Arrays Associativos Programação WEB I Utilizando loops com each( ) e list( ) A função list( ) pode ser utilizada para dividir um array em vários valores. Programação WEB I Criando 2 loops em um mesmo script Isso acontece porque o cursor após a execução de um loop se encontra no fim do array. Isso acontece porque o cursor após a execução de um loop se encontra no fim do array. Programação WEB I Arrays Multidimensionais produto Cada localização no array pode armazenar outro array. Cria-se com isso um array bidimensional; Codigo Descrição Preço TRI Trigo 100 Ol Oleo 20 MAR Margarina 30 Atributo do produto Programação WEB I Arrays Multidimensionais [0] [1] [2] produto [0] [1] [2] Codigo Descrição Preço TRI Trigo 100 Ol Oleo 20 MAR Margarina 30 Atributo do produto Programação WEB I Arrays Multidimensionais Exibindo Exibindo com for Programação WEB I Arrays Multidimensionais Programação WEB I Modo associativo para array multidimensionais Programação WEB I Modo associativo para array multidimensionais Exibindo Programação WEB I Programação WEB I Imprimindo com Var_dump e print_r Programação WEB I Array 3D Codigo produtos TRI Codigo Descrição Preço Trigo Descrição 100 Preço TRI Ol Codigo Oleo Trigo Descrição 20 Preço100 Ol MAR CARRO_FR Margarina 30 FreiosOleo 100 20 MAR CARRO_Ol Óleo Margarina 20 CARRO_AMO Amortecedores 30 Atributos do produtos 30 Programação WEB I Programação WEB I Exibir Os índices desse array são apenas numéricos, então utilizaremos loops for Classificando Array sort Programação WEB I rsort Alfabético asort arsort Ordena o array de acordo com o valor de cada elemento. ksort krsort Classifica por descrição. Suffle() reordena aleatoriamente os elementos de um array( ). Programação WEB I Classificando Array- SORT Programação WEB I Classificando Array- ASORT Programação WEB I Classificando Array- KSORT Programação WEB I Classificando Arrays Multidimensionais $produto=array( array(‘TRI’, ‘trigo’,100), array(‘Ol’, ‘Oleo’,20), array(‘MAR’,’Margarina’,30)); Podemos classificar essa array em 2 formas: Alfabética ou por preço. Para isso precisamos utilizar a função usort() e depois comparar os itens. Precisamos então criar nossa própria função de comparação. function compare($x,$y) 2 parâmetros Nome da minha função { if ($x[1]==$y[1]) 2 dos arrays dentro do array return 0; Principal representando dois produtos else if ($x[1]<$y[1]) return -1; else return 1; } usort ($produto, ’compare’ ); Programação WEB I Programação WEB I Exercício Crie a seguinte tabela. Exibe na tela todas as informações contidas nela Coloque-a em ordem crescente pelo código CODIG O PRODUTO DESCRIÇÃO PREÇO 0001 Óleo Óleo para motor Rocan 30 2003 Freios Freios ABS 400 3001 Amortecedores Amortecedores Dianteiros 300 0020 Lanterna Lanterna traseira Fumê 30 5001 Parabrisas Cristal 40 4001 Rodas Aro 17 4000