nisfarm.ru

Efektivní smyčky foreach: PHP a pravidelné pole

Informace uvedené v poli, se může měnit hodnoty typu a jejich velikost a počet prvků, není vždy možné určit předem. Moderní programování, zejména v distribuované formě provedení umožňuje vytvářet komplexní struktura dat, obsahu a vlastnosti mohou být definovány dynamicky na neomezeně dlouhou dobu, v důsledku různých akcí nebo událostí v jiném pořadí.

foreach php

Ne vždy ve fázi vývoje, můžete předvídat provozní proces, zajistit všechny možné možnosti prezentace a využití informací, dynamiku jejich vzhledu a použití.

Syntaxe cyklu podle obsahu

Formulovat syntax foreach, PHP nabídl dvě možnosti pro přístup k prvkům. Oba nezávisí na typu klíče nebo typu hodnoty a mohou být emulovány normální smyčkou. Navrhuje se, aby pole bylo zpracováno jako sbírka prvků, jejichž počty nebyly původně definovány. Pole může být vytvořeno za běhu, s klíči nebo bez klíče. V poli může být prvek odstraněn, klíče mohou být asociativní a formovány ve výchozím nastavení.

foreach ($ aArrayName jako $ xValue) {tělo smyčky}

Tento návrh ukládá smyčce PHP, aby prošla všemi prvky v řadě. V těle smyčky bude proměnná $ xValue postupně odebírat všechny hodnoty array $ aArrayName v pořadí, v jakém byly přidány. Klíčové hodnoty prvku nebudou k dispozici.

foreach ($ aArrayName jako $ xKey => $ xValue) {tělo smyčky}




Také zde při provádění foreach konstrukce PHP skenuje celý obsah pole, ale v těle smyčky budou odpovídající hodnoty v párech, a to jak $ xValue a $ xKey, klíč prvku.

foreach php smyčce

Sekvence prvků

Uvnitř foreach PHP nabídne obsah v pořadí, v jakém jsou přidány prvky, ale pokud by se opakovaly přidání / odstranění, a přidává něco ke klíčům, a něco, aniž by je nejlepší dělat práci při tvorbě pole s polem s pozice sekvence prvků, ale na základě jejich obsahu nebo klíčů.

php foreach pole

Z různých objektivních důvodů sekvence uvnitř souboru, nemohou být dodrženy a / nebo může příliš nezáleží, ale neměl by být orientovány v žádném případě. V jednoduchých úkolů na triviálních souborů dat, žádný problém, a algoritmus může být nastavena na sekvenční zpracování, ale při vytváření / úprava procesu pole je ovlivněn mnoha faktory, by se měla zaměřit na obsahu.

Moderní "správné" prvky

Z hlediska stávajícího vlastního konceptu, bez ohledu na bezpodmínečné obdobné jazyky, musí být pole forem PHP navrženo nezávisle s ohledem na skutečný konkrétní úkol.

Postupujte, pokud je daný, a ten má index ve své obecné sbírce podobný podle určitého kritéria - bylo to včera.

Index byl klíčem a matice měla podobu asociativního pole. To je klíč ztratila svůj jedinečný seriál (obvykle byly konzistentní: 0, 1, 2, ... n) a také začal hodnotu, ale jednoduchá hodnota (tj klíč) spojená s skutečné hodnoty (tj obsah prvku). Je to dnes, je to správné, ale ne dokonalé.

Z tohoto důvodu je smyčka foreach považována PHP jako alternativa k normální smyčce, která je orientována na pravidelné pole. To je především, a to je velmi důležité, protože to znamená skutečná správnost prvků pole, stejně jako jejich klíče!

Správná pole pravidelných prvků

Nejdřív byl prvek, pak dva elementy ... takže byla řada prvků a smyčka po řadě z nich:

pro ($ i = 0- $ i

procesní tělo každého $ aArrayName [$ i]

}}

Pak prvek namísto anonymní 0, 1, 2, ... n bude mít svůj vlastní název - klíč a pak se stal asociativní pole a pak potřeboval smyčky foreach - „cyklus pro každý“:

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

procesní tělo každého $ aArrayName [$ xKey] nebo $ xValue, které jsou stejné

}}

Nyní je čas přijít do pole se správnými prvky, to jsou ty, které jsou samy. Sami o sobě ví, že jejich index, jejich obsah, jejich místo v pořadí, jsou nakloněni k tomu, aby využili svůj vlastní výběr sekvencí a delegovali všechny tyto možnosti na skutečné pole, které je obsahuje.

Taková pravidelná pole budou řešena sami. Zvláštní potřeba používání běžných cyklů a cyklů pro každého jednoduše nebude. Formálně syntaxe a sémantika je již to dovolí, je otázka pouze pro setrvačnost vědomí vývojáře.

Sdílet na sociálních sítích:

Podobné
© 2021 nisfarm.ru