Bir süre ya da foreach ya deyimi ile aynı döngü başlatılıyor

0 Cevap php

Ben aşağıdaki gibi php kodu var:

while($r = mysql_fetch_array($q))
{

// Do some stuff

}

$ q grup üyelerinin bir dizi alınırken bir sorgu olduğu. Ancak, bazı gruplar orada üyeleri memcached kaydedilir ve o memcached değeri $ mem_entry gibi bir dizide saklanan var. Bu aracılığıyla çalıştırmak için, ben normalde aşağıdakileri yapardım

foreach($mem_entry as $k => $r)
{

// Do some stuff

}

İşte sorun bu. Ben aynı iki kod bloğu olmasını istemiyorum (/ / bazı şeyler bölümü yapmak) bir durumda ben loop ve diğer memcached için mysql kullanmak zorunda çünkü iki farklı döngüler iç içe. Süre veya foreach ile döngü kapalı başlayan geçiş için bir yol var mı? $ Mem_entry boş olmayan bir değer varsa, diğer bir deyişle, döngünün ilk satırı foreach olacak, ya da boş ise, döngünün ilk satırı olacak ($ ​​mem_entry $ k => $ r gibi) while ( $ r = mysql_fetch_array ($ q))

Edit

Eh, hemen hemen ben bu yazdığım bir kaç saniye sonra ben bir çözüm ile geliyor sona erdi. Şekil Ben bu sorun üzerine gelebilir başkası için bu kadar terk ediyorum. Ben ilk memcached değere $ üyelerinin değerini ayarlayın. Bu boş ise, ben mysql sorguyu çalıştırmak ve $ üyeleri adlı bir dizinin tüm kayıtları aktarmak için bir süre döngü kullanabilirsiniz. Sonra (as $ k => $ r $ olarak üye) foreach döngüsü başlatmak. Temelde, bir foreach döngü her şey kullanıyorum ama $ üyelerinin değeri, memcached var için olsun veya olmasın bir değere göre farklı ayarlanır.

0 Cevap