Mga computerImpormasyon sa teknolohiya

Epektibong foreach loops: PHP at regular arrays

Ang impormasyon na kinakatawan sa mga arrays ay maaaring magkakaiba sa uri ng mga halaga at sa kanilang laki, at ang bilang ng mga elemento ay hindi maaaring palaging tinutukoy nang maaga. Ang mga modernong programming, lalo na sa ipinamamahagi na bersyon, ay nagbibigay-daan sa paglikha ng kumplikadong istruktura ng data na ang nilalaman at mga katangian ay maaaring tinutukoy nang pabago-bago sa isang indefinite point sa oras bilang resulta ng iba't ibang mga pagkilos o mga kaganapan sa ibang pagkakasunud-sunod.

Hindi laging nasa yugto ng pag-unlad, maaari mong mahulaan ang proseso ng operasyon, magbigay para sa lahat ng posibleng pagpipilian para sa pagtatanghal at paggamit ng impormasyon, ang dynamics ng kanilang hitsura at paggamit.

Ikot ng Syntax ayon sa Nilalaman

Pagbubuo ng syntax ng foreach, nag-aalok ang PHP ng dalawang pagpipilian para ma-access ang mga elemento. Parehong hindi nakasalalay sa alinman sa pangunahing uri o ang uri ng halaga at maaaring sundin ng normal na loop. Iminumungkahi na isaalang-alang ang array bilang isang koleksyon ng mga elemento, ang bilang na hindi pa natukoy. Ang array ay maaaring nabuo sa mabilisang, mayroon o walang mga susi. Sa isang array, maaaring alisin ang isang elemento, ang mga susi ay maaaring makakaugnay at nabuo sa pamamagitan ng default.

Foreach ($ aArrayName bilang $ xValue) {katawan ng loop}

Kinakailangan ng disenyo na ito ang foreach na PHP loop upang pumunta sa lahat ng mga elemento sa isang hilera. Sa katawan ng loop, ang $ xValue variable ay sunud-sunod na gawin ang lahat ng mga halaga ng array na $ aArrayName sa pagkakasunud-sunod kung saan sila ay idinagdag. Hindi magagamit ang mga halaga ng elemento ng sangkap.

Foreach ($ aArrayName bilang $ xKey => $ xValue) {katawan ng loop}

Din dito, habang isinasagawa ang foreach construct, ang PHP ay mag-scan sa buong nilalaman ng array, ngunit sa katawan ng loop, ang nararapat na mga halaga ay magkapares, parehong $ xValue at $ xKey, susi ng elemento.

Pagkakasunud-sunod ng mga elemento

Sa loob ng foreach PHP ay mag-aalok ng nilalaman sa pagkakasunud-sunod kung saan ang mga elemento ay idinagdag, ngunit kung mayroong maraming mga pagdaragdag / pagtanggal sa panahon ng henerasyon ng array, at ang isang bagay ay idinagdag sa mga key, at isang bagay na walang, pagkatapos ay mas mahusay na magtrabaho kasama ang array hindi Posisyon ng isang pagkakasunod-sunod ng mga elemento, ngunit batay sa kanilang nilalaman o sa mga key.

Dahil sa iba't ibang mga kadahilanang layunin, ang pagkakasunud-sunod sa loob ng array ay hindi maaaring sundin at / o maaaring hindi magkaroon ng maraming kahulugan, ngunit hindi ito dapat nakatuon sa anumang kaso. Sa mga simpleng problema, sa mga maliit na hanay ng data, walang mga problema, at ang algorithm ay maaaring tune sa sunud na pagproseso, ngunit kapag ang proseso ng paglikha / pag-edit ng isang array ay naiimpluwensyahan ng maraming mga kadahilanan, dapat isa-focus sa nilalaman.

Mga modernong "karapatan" na mga elemento

Mula sa pananaw ng umiiral na sariling konsepto, nang walang kahit na isinasaalang-alang ang walang kondisyon na pagkakatulad ng mga wika, ang PHP foreach array ay dapat na dinisenyo nang nakapag-iisa na isinasaalang-alang ang isang tunay na kongkretong gawain.

Magsanay, kapag may ibinigay na, at ang isang ito ay may isang index sa pangkalahatang koleksyon ng kanya katulad ayon sa isang tiyak na criterion, ito ay kahapon .

Ang index ay naging susi, at ang array ay kinuha sa anyo ng isang nag-uugnay array. Iyon ay, ang susi ay nawala ang sunud-sunod na uniqueness (karaniwang ito ay pare-pareho: 0, 1, 2, ... n) at naging halaga din, ngunit isang simpleng halaga (ibig sabihin, isang susi) na nauugnay sa tunay na halaga (iyon ay, ang nilalaman ng elemento). Ito ay ngayon, tama, ngunit hindi perpekto .

Iyon ang dahilan kung bakit ang foreach loop ay isinasaalang-alang ng PHP bilang isang alternatibo sa karaniwang loop, nakatuon sa mga regular na arrays. Ito ay una at pangunahin, at ito ay napakahalaga, sapagkat ito ay nagpapahiwatig ng tunay na katumpakan ng mga elemento ng hanay , pati na rin ang kanilang mga susi!

Tamang arrays ng mga regular na elemento

Una may isang elemento, pagkatapos ay dalawang elemento ... kaya nagkaroon ng isang hanay ng mga elemento at isang loop kasama ang isang array ng mga ito:

Para sa ($ i = 0; $ i

Ang pagproseso ng katawan ng bawat $ aArrayName [$ i]

}

Pagkatapos ay ang elemento sa halip na walang faceless 0, 1, 2, ... n ay may sariling pangalan - ang susi at pagkatapos ay ang arrays ay naging associative, at pagkatapos ng isang foreach loop ay kinakailangan - isang "loop para sa bawat":

Foreach ($ aArrayName bilang $ xKey => $ xValue) {

Ang pagproseso ng katawan ng bawat $ aArrayName [$ xKey] o $ xValue na pareho

}

Ngayon ay oras na upang pumunta sa array na may tamang mga elemento , iyon ay, mga na sa kanilang sarili. Alam nila mismo ang kanilang index, ang kanilang nilalaman, ang kanilang lugar sa pagkakasunud-sunod, ay hilig upang ipakita ang kanilang sariling pagpili ng pagkakasunud-sunod at ipagkaloob ang lahat ng mga posibilidad na ito sa aktwal na array na naglalaman ng mga ito.

Ang ganitong mga regular na arrays ay gagawin sa pamamagitan ng kanilang sarili. Ang isang espesyal na pangangailangan para sa paggamit ng mga ordinaryong cycles at cycles para sa bawat isa ay hindi lang. Sa pormal, pinahihintulutan ng syntax at semantika , ang tanong ay lamang ang pagkawalang-kilos ng kamalayan ng developer.

Similar articles

 

 

 

 

Trending Now

 

 

 

 

Newest

Copyright © 2018 tl.atomiyme.com. Theme powered by WordPress.