PHP Foreach: Bilmeniz Gerekiyor

PHP ile hayatımda en sık kullanılan işlevlerden biri foreach. Bazıları, bunun nedeni sadece Indah adı verilen bir işlev olması ve nasıl düşündüğümü iyi haritalamasıdır. Bazıları bu, web sayfasının bir tür omurgasıdır: bir dizi şeyden geçin, bazılarını seçici olarak çalıştırın ve ardından her şeyi görüntüleyin. PHP’ye hakim olmak için gerçekten foreach bilmelisiniz. Ve bu bizim amacımız: En yaygın ve kullanışlı foreach’i, bunu anlamanızı kolaylaştırabileceğini umduğumuz şekilde kapsamak. Ayrıca bu PHP dili yapısının daha karmaşık açılarını tartışacağız, ancak düzenli olarak yazdığımız veya diğer insanların kodlarında buluştuğumuz şeyleri korumak amacıyla.
Foreach Vs Loop için: Herhangi bir dilde çok programlayan herkesin tekrarını duymuş olması gerekir. PHP, foreach döngüleriyle tekrarlamayı artırır. Ancak foreach döngüsüne çok derinlere girmeden önce, bu iki popüler şeyin nasıl farklı olduğunu kapsayan bir değer olduğunu düşünüyorum. PHP’de, bir dizi numarayı tekrarlamak istediğinizde çoğunu döngü kullanacaksınız. Kod segmentinin 20 kez çalışmasını istediğinizi varsayalım. Döngü için kullanabilirsiniz: ($ x = 1; $ x <= 20; $ x ++) {echo "numarası: $ x “; } Bu kod hakkında harika olan, önceki döngü için gördüyseniz (üç garip cümle “başlangıç ​​koşulları”, “gelişmiş koşullar”, “döngü başına işlem”), bu oldukça basittir. Bu sözdizimini daha önce hiç görmediyseniz, çok düşünmelisiniz.
PHP foreach döngüsünü her zaman daha kolay anlaşılmış buluyorum. Soyut bir düzen yerine, önceden belirlenmiş şeyleri tekrarlarsınız. Bu bizim döngü bizim, basit foreach haline getirildi. $ numaraları = dizi (1, 2, 3, […], 19, 20); foreach ($ x olarak $ x) {echo “sayı: $ x
“; } Bu yüzden bir numaralar listem var (PHP’de, listeyi yüklemek ve tanımlamak için dizi dili yapısını kullanıyoruz) ve her yineleme, kendimizi yankı komutu aracılığıyla gösterdiğimiz numarayı görüyoruz. Foreach PHP: Semantik ve Kod Örnekleri Genel olarak, PHP’de Foreaching Listenin sözdizimini düşünüyorum: foreach ($ ‘lık $ list_manemer olarak $_list) {// Bir şeyler yapmak için $ list_member kullanın} Neredeyse her zaman, işler için işler nasıldır. PHP. Daha önce zaten var olan bir setiniz olacak, çoğunlukla diziler olacak ve tekrarlayacaksınız, her öğe ile belirli şeyler yapacaksınız. PHP’de yapacağınız ortak işlem dizilerden filtredir. Bunun için, bu tür dizilerde forEach öğelerini çalıştıracağız, yalnızca tek numaraları kaydet: $ keep_odds = array (); // Boş bir dizi tek numarayla başlayın $ numaraları = dizi (1, 2, 3, …, 19, 20); foreach ($ X olarak $) {if ($ x % 2 == 1) {$ keep_odds [] = $ x; }} Artık bazıları yeni. Güvenmeniz gerekebilecek bir kısım: Garip bir sözdizimi kullanırsam. Itu memberi tahu kami hal-hal aneh vs genap. (Bu, bu makalede bunun tek sayıları bulmaktan daha fazlası için nasıl yararlı olduğunu açıkladığım PHP Modulo operatörü.)
Anlaşılması gereken bir başka şey de $ CueT_ODDS [] = $ X satırıdır. Bu sözdizimi sizin için yeni olabilir ve anlaşılması gerekir. Yaptığı şey, $ x öğesini listenin sonuna (veya dizi) $ keep_odds eklemekti. Sözdiziminin anlamı budur []: “Dizinin sonunda değer ekleyin …” Bu, PHP foreach döngüsünün etrafında sık sık göreceğiniz bir şey, çünkü düşünme şeklimize uyuyor: Bu yeni olana bir şeyler ekleyin düzenler. PHP Foreach: Anahtar ve Değer Almak İsteyebileceğiniz Bir Sonraki Büyük Şey PHP Tuşlarınızı kullanmaktır. “Listeler” in çoğu için PHP dizisini liste olarak kullanabilirsiniz. Ancak bazen PHP dizisini “anahtar değer çifti” olarak kullanacağız. Sorun bu ise, forEach PHP: foreach ($ Key => $ değer olarak $ array) yazmanın biraz daha uzun bir yolunu kullanabilirsiniz { # kod …} Liste olarak kullandığınız diziye sahip olduğunuzu varsayarsak, Yukarıdaki koddaki $ anahtar olarak 0, 1, 2, vb. (Ona aşina değilseniz, hem PHP hem de diğer birçok programlama dili, 0’da değil, 0’da öğeleri hesaplamaya başlar. Bu, çoğunlukla önemsiz bir rahatsız edicidir, ancak çok erken bilgisayar performansının optimizasyonundan gelir.) Bir nesne dizisine sahip olun, özel bir anahtarla bile, çok önemli bir foreach döngü beyanında us $ anahtar => $ değer. (Ve bilirsiniz, adlar düzeltilmez. Foreach anahtarınız ve değeriniz varsa düşündüğünüz şey varsa, forEach döngü adlarınızı koyabilirsiniz. mümkün ama teşvik edildi.)
PHP Foreach çok boyutlu dizi rahat, birçok kişi PHP’deki “çok boyutlu dizi” hakkında konuşacak.Bu isim benim için asla gerçekten uygun değildir, ancak genellikle insanlar söylediklerinde, bu “dizi dizisi” anlamına gelir.Size daha görsel bir resim vermek için şöyle bir veri yapımız olabilir: $ indexed_pairs = [‘David’ => [32, 487], ‘fred’ => [33, 792],] buna “dizi diyeceğim dizin adı. “Ama bu oldukça sözlü.Burada bizim için önemli olan, bu diziyi her zamanki gibi tekrarlayabilmemizdir.PHP’de foreach çok boyutlu dizi ile çalışma sorunları yoktur.Basit çok boyutlu dizimizi tekrarlamak için:
foreach ($ indexed_pairs olarak $ name => $ çift) {echo $ name. ‘ ‘. $ çift [0].’ Yaşında ‘; } Bu durumda, basit bir listeden veya anahtar değer çiftlerinden daha fazla bilgi yüklemek için bir çizgi yapısı kullanıyoruz. Bu nedenle, bu iki bilgiyi görüntüleyebiliriz. Gizemli çiftin ikinci yarısı gibi. (Bu aslında anlamını bile bilmediğim rastgele bir sayıdır.) Kısayolu Anlamak Varsayılan Döngü ForEach ForEach PHP, tüm dizi öğelerinizden (veya diğer yineleyici uygulama nesnelerinizde aptalca hareket edecektir, ancak daha fazla özleyeceğiz şu anda bunun için tartışmalar). Dizinizde iki öğe varsa, yukarıda yaptığımız gibi, her iki öğenin de diziyi geçen her iki öğeyi göreceksiniz. Ancak dizinizde yüzlerce veya binlerce öğenin bulunduğu durumlarda, her şeyi çalıştırmaktan başka bir şey yapmak istediğiniz oldukça yaygındır. Ancak, sitenizi ziyaret edenler meşgul.
Bu durumda, tüm işlevlerinizin veya komut dosyalarınızın daha hızlı hareket etmesini sağlamak için Foreach PHP döngünüzde yapabileceğiniz bazı basit optimizasyonlar olduğunu bilmek önemlidir. Kırırlar ve devam ederler. Bazen her ikisini de bugüne kadar PHP foreach döngüsünde kullanmak için karışık hale getiriyorum, bu yüzden parçalamaya devam edelim. (Orada ne yaptığımı gördün mü?) PHP’de PHP’de PHP’de PHP’de forEach döngüsünü artırabileceğiniz ilk yol, anahtar kelimeleri devam ettirmektir. Sizin için yapılacak olan şey, kalan PHP kodu satırını foreach döngünüzde geçirmektir. 20 satır kod gibi döngünüzde oldukça karmaşık işlemler olduğunu varsayalım. Başlangıçta “Değer 500’ün altındaysa, kalan kodu geç” diyen bir “koruma maddesi” varsa, bazı performans iyileştirmeleri alacaksınız. 20 Diğer satır yürütülmeyecek. PHP kodunda devam etmek için: foreach ($ indexed_pairs $ name => $ çift) {if ($ çift [1] <500) {devam; } Echo $ name. ' '. $ çift [0].' Yaşında '; } Yapılan şey "devam eden öğretimdir". Yalnızca yankı satırının, ikinci elemanın ($ çift [1]) 500 veya daha fazla olduğu $ çift s için meydana geldiğini göreceğiz. PHP Foreach'te devam etme konusunda beni her zaman karıştırıyor. "Döngüde kodu yürütmeye devam et" olarak "Devam Et" i okumazsınız. Bunun yerine, ForEach PHP'ye devam edin "Foreach yinelemesinden bir sonraki öğeye devam edin." Foreach kodu hakkında net bir şekilde düşünmenin çok önemli olduğunu düşünürsek.

PHP Foreach Break ifadesi ne yaptı?Mola devam etmekten çok farklı.Her ikisi de Loop Foreach PHP’deki operasyon akışını değiştirdi, ancak Break, tüm Foreach’in yürütülmesini durdurdu, burada devam eden bazı iş öğelerinin yürütülmesini durdurdu.Bir kez daha, koduna bakalım: foreach ($ indexed_pairs $ name => $ çift olarak) {if ($ çift [1] <500) {Break;} Echo $ name. ''. $ çift [0].'Yaşında ';} Yapılan şey çok farklıdır: Bu, $ çift [1] değerinin (dizideki "çok boyutlu bir değer olan ikinci öğenin) 500'ün altında olması durumunda, $ indexed_pairs'de daha fazla öğe yoktur ve hatta tekrarlanacak.Yani, Foreach işlemeden önce duracaktır.Asla olmadılar.Bir kez daha, vurgulamaya ve tekrarlanmaya değer olduğunu düşünüyorum.Foreach PHP'de mola diyorsunuz çünkü foreach'teki tüm yürütmeleri tamamen durdurmak istiyorsunuz.Gerçekten "ihlal"

admin

Bir Cevap Yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir