Კომპიუტერები, Საინფორმაციო ტექნოლოგიების
Ეფექტური ციკლის foreach: PHP და სწორი მასივები
ინფორმაციის მასივები, შეიძლება განსხვავდებოდეს ტიპის ღირებულებები და მათი ზომა და რაოდენობის ელემენტები შეიძლება ყოველთვის არ იყოს წინასწარ განსაზღვრული. თანამედროვე პროგრამირების, განსაკუთრებით გავრცელებული განსახიერება, ის საშუალებას აძლევს შექმნას რთული მონაცემთა სტრუქტურის, შინაარსისა და თვისებები შეიძლება განისაზღვროს დინამიურად განუსაზღვრელი დრო შედეგად სხვადასხვა მოქმედებების ან მოვლენების სხვადასხვა თანმიმდევრობით.
ეს ყოველთვის არ არის შესაძლებელი დაპროექტების ეტაპზე პროგნოზირება ოპერაციის პროცესში ყველა შესაძლო წარმომადგენლობები და გამოყენება ინფორმაციის დინამიკა, მათი გამოჩენა და გამოყენება.
სინტაქსი შინაარსი
ფორმულირებისას სინტაქსი foreach, PHP შემოთავაზებული ორი გზა, რათა შეამოწმონ ელემენტებს. ორივე არ არის დამოკიდებული ტიპის გასაღები, ან ტიპის ღირებულებები და შეიძლება მიბაძონ ჩვეულებრივი ციკლი. შემოთავაზებული განიხილოს მასივი, როგორც გავურბივარ ელემენტები, რომელთა რაოდენობა თავდაპირველად არ იყო განსაზღვრული. მასივი შეიძლება კონფიგურაცია on the fly, გასაღებები, და გარეშე. მასივი ელემენტს შეიძლება ამოღებულ, გასაღებები შეიძლება ასოციაციურ და რა განათლებული.
foreach ($ aArrayName როგორც $ xValue) {loop ორგანო}
ეს დიზაინი მოითხოვს foreach PHP მარყუჟის გავლა ყველა ელემენტი in a row. იმ ორგანოს loop ცვლადი $ xValue თანმიმდევრულად მიიღოს ყველა ღირებულებების მასივი $ aArrayName იმ მიზნით, რომელიც მათ დაემატა. ღირებულებები ძირითადი ელემენტები არ იქნება შესაძლებელი.
foreach ($ aArrayName როგორც $ xKey => $ xValue) {loop ორგანო}
აქაც, ასრულებს დიზაინი foreach, PHP იქნება სკანირების მთელი შინაარსი მასივი, მაგრამ loop წყვილი მიიღებს შესაბამის ღირებულება, როგორც ცვლადი $ xValue და ცვლადი $ xKey - ძირითადი ელემენტია.
თანმიმდევრობა ელემენტები
შიგნით foreach PHP შესთავაზებს შემცველობა წესრიგზე, რომლის დასძინა ელემენტები, მაგრამ თუ არ გაიმეორა გარდა / მოხსნა, და დასძენს, რომ რაღაც გასაღებები, და რაღაც გარეშე, ეს არის საუკეთესო, რომ გავაკეთოთ მუშაობა ფორმირების მასივი მასივი პოზიცია თანმიმდევრობით ელემენტები, და მათი შინაარსი და გასაღებები.
იმის გამო, რომ სხვადასხვა ობიექტური მიზეზების გამო თანმიმდევრობით ფარგლებში მასივი არ შეიძლება დაცული და / ან არ აქვს მნიშვნელობა, ბევრი, მაგრამ ეს არ უნდა იყოს ორიენტირებული არანაირად. მარტივი ამოცანები ტრივიალური მონაცემები კომპლექტი, არ არის პრობლემა, და ალგორითმი ყენდება რიგითი დამუშავება, მაგრამ, როდესაც შექმნა / რედაქტირება მასივი პროცესი გავლენას ახდენს მრავალი ფაქტორი, უნდა ფოკუსირება შინაარსი.
თანამედროვე "სწორი" ელემენტები
თვალსაზრისით მიმდინარე თვითმმართველობის კონცეფცია, თუნდაც გათვალისწინების გარეშე უპირობო მოსწონს ენებზე, PHP foreach მასივი უნდა შექმნილია დამოუკიდებლად გათვალისწინებით ფაქტობრივი კონკრეტული ამოცანა.
პრაქტიკა, როდესაც არ არის მოცემული, და ამ არსებობს მაჩვენებელი ზოგადად კოლექცია თანმხლები პროდუქცია კონკრეტული კრიტერიუმის მიხედვით - ეს იყო გუშინ.
ინდექსი გასაღები, და აიღო სახით მასივი ასოციაციური მასივების. სწორედ გასაღები დაკარგა თავისი უნიკალური სერიული (როგორც წესი, თანმიმდევრული: 0, 1, 2, ... n) და ასევე დაიწყო მნიშვნელობა, მაგრამ უბრალო მნიშვნელობა (ანუ გასაღები) დაკავშირებული ფაქტობრივი ღირებულება (ანუ შინაარსი ელემენტი). დღეს არის, რომ სწორი, მაგრამ არა საკმაოდ.
ამიტომაც არის, რომ ციკლის foreach PHP განიხილავს, როგორც ალტერნატივა ნორმალური ციკლი, ორიენტირებულია ჩვეულებრივი მასივები. ეს არის უპირველეს ყოვლისა, და ეს ძალიან მნიშვნელოვანია, რადგან ეს ნიშნავს, რომ რეალური სიზუსტეს მასივი ელემენტები, ისევე, როგორც მათი გასაღებები!
Right მასივების რეგულარული ელემენტები
პირველი იყო ელემენტს, მაშინ ორი ელემენტები ... ასე იყო მასივი ელემენტები და loop მეშვეობით მასივი იმ:
for ($ i = 0; $ i <იმედი ($ aArrayName); $ i ++) {
დამუშავების სხეულის თითოეული $ aArrayName [$ i]
}
მაშინ ელემენტს ნაცვლად უსახო 0, 1, 2, ... n ექნება თავისი სახელი - გასაღები და შემდეგ გახდეს ასოციაციური მასივების და შემდეგ საჭირო foreach loop - "საფეხურისათვის":
foreach ($ aArrayName როგორც $ xKey => $ xValue) {
დამუშავების სხეულის თითოეული $ aArrayName [$ xKey] $ xValue ან, რომ ერთი და იგივე
}
ახლა დადგა დრო, როდესაც მასივი უნდა მოვიდეს უფლება ელემენტები, ანუ, რომელიც თავად. მათ იციან თქვენი კოდი, მისი შინაარსი, მისი ადგილი თანმიმდევრობით, როგორც წესი, საკუთარი არჩევანი თანმიმდევრობით და დელეგირება ყველა ეს შესაძლებლობები საკუთარი მასივები, რომელიც შეიცავს მათ.
ასეთი რეგულარული კოლექტორები ხდება თავს. სპეციალური საჭიროებების მქონე ჩვეულებრივი ციკლის და ციკლის თითოეულ არ იქნება მარტივი. ფორმალურად, სინტაქსი და სემანტიკა ამ უკვე იძლევა, ერთადერთი საკითხი დეველოპერი ინერცია ცნობიერებაში.
Similar articles
Trending Now