/ / Loops de foreach eficazes: PHP e matrizes apropriadas

Loops de foreach eficazes: PHP e matrizes apropriadas

As informações apresentadas nas matrizes podemdiferem no tipo de valores e no tamanho, e o número de elementos nem sempre pode ser determinado com antecedência. A programação moderna, especialmente em uma versão distribuída, permite criar estruturas de dados complexas, cujos conteúdos e propriedades podem ser determinados dinamicamente em um momento indefinido, como resultado de várias ações ou eventos, em uma sequência diferente.

foreach php

Nem sempre é possível, no estágio de desenvolvimento, prever o processo de operação, fornecer todas as opções possíveis para a apresentação e uso de informações, a dinâmica de sua aparência e uso.

Sintaxe do loop de conteúdo

Formulando a sintaxe foreach, o PHP propôs duasopções de acesso para itens. Ambos são independentes do tipo de chave ou do tipo de valor e podem ser emulados em um loop regular. Propõe-se considerar a matriz como um conjunto de elementos, cujo número não é determinado inicialmente. Uma matriz pode ser formada em tempo real, com ou sem chaves. Um elemento pode ser excluído na matriz, as chaves podem ser associativas e formadas por padrão.

foreach ($ aArrayName como $ xValue) {corpo do loop}

Esse design obriga o loop PHP foreachpercorrer todos os elementos em uma linha. No corpo do loop, a variável $ xValue receberá sequencialmente todos os valores da matriz $ aArrayName na ordem em que foram adicionados. Os valores da chave do elemento não estarão disponíveis.

foreach ($ aArrayName como $ xKey => $ xValue) {corpo do loop}

Aqui também, executando a construção foreach, PHPele examinará todo o conteúdo da matriz, mas no corpo do loop, a variável $ xValue e a variável $ xKey serão a chave do elemento em pares.

foreach loop php

Sequência de elementos

Dentro do foreach, o PHP oferecerá conteúdo emna ordem em que os elementos foram adicionados, mas se durante a formação da matriz houve adições / exclusões repetidas e algo foi adicionado com as teclas e algo sem, é melhor trabalhar com a matriz não a partir da posição da sequência de elementos, mas com base em seu conteúdo ou nas teclas.

matriz php foreach

Por várias razões objetivasa sequência dentro da matriz pode não ser respeitada e / ou pode não ter muita importância, mas não deve ser orientada em nenhum caso. Em tarefas simples, em conjuntos de dados triviais, não há problemas, e o algoritmo pode ser configurado para processamento seqüencial, mas quando muitos fatores influenciam o processo de criação / edição de uma matriz, você deve se concentrar no conteúdo.

Elementos modernos "certos"

Do ponto de vista do próprio conceito estabelecido, sem levar em conta mesmo linguagens semelhantes incondicionalmente, o PHP foreach array precisa ser projetado independentemente, levando em consideração uma tarefa concreta real.

Prática, quando existe um dado, mas este possui um índice na coleção geral de similares por um determinado critério, - foi ontem.

O índice se tornou a chave e a matriz tomou formamatriz associativa. Ou seja, a chave perdeu sua singularidade sequencial (geralmente era seqüencial: 0, 1, 2, ... n) e também se tornou um valor, mas um valor simples (ou seja, uma chave) associado ao valor real (ou seja, o conteúdo do elemento). Hoje é certo, mas não perfeito.

É por isso que o loop foreach é considerado pelo PHP como uma alternativa a um loop regular orientado a matrizes regulares. Isso é antes de tudo, e isso é muito importante, porque segue validade real dos elementos da matriz, bem como suas chaves!

Matrizes corretas de elementos regulares

Primeiro havia um elemento, depois dois elementos ... é assim que uma matriz de elementos apareceu e um ciclo através de uma matriz desses:

for ($ i = 0; $ i

corpo de processamento de cada $ aArrayName [$ i]

}

Então, em vez de 0, 1, 2, ... n sem rosto, o elemento ganhou seu próprio nome - a chave e, em seguida, as matrizes se tornaram associativas e, em seguida, o loop foreach era necessário - "cada loop":

foreach ($ aArrayName como $ xKey => $ xValue) {

corpo de processamento de cada $ aArrayName [$ xKey] ou $ xValue, que é o mesmo

}

Agora é hora de os elementos corretos chegarem à matriz, ou seja, aqueles que estão por conta própria.Eles mesmos conhecem seu índice, seu conteúdo, seu lugar na sequência, tendem a mostrar sua própria escolha de sequência e delegar todos esses recursos à matriz real que os contém.

Tais matrizes corretas serão processadaspor conta própria. Simplesmente não haverá necessidade de usar loops e loops regulares para cada um. Formalmente, a sintaxe e a semântica já permitem isso, a questão é apenas a inércia da consciência do desenvolvedor.

Gostei:
0
Posts populares
Desenvolvimento Espiritual
Alimento
sim