PHP - Bir döngü içinde Başlarken konum

2 Cevap php

Ben bir foreach döngü içinde denir ve döngü tükendi sayısını ve (sabit boyutta) bir dizi temsil eden, iki parametre, bir tamsayı alır bir işlevi var.

Ben tezgahın eşittir dizi anahtarının değerini dönmek istiyorum.

Dizi dört temel unsuru vardır Örneğin, A, B, C ve D ve sayaç 2'ye eşittir, bu sayaç 6, 10 eşit ise ben aynı sonucu almaya çalışıyorum, ancak B. döndürür 14, 38, 3998 vs vs

Bunu başarmak için basit bir yolu var mı?

Herhangi bir tavsiye takdir.

Teşekkürler.

2 Cevap

<?php

function foo($position, array $array)
{
    return $array[$position % count($array)];
}

foreach ($array as $i => $whatever) {
    $foo = foo($i, $whatever);
}

Note: Ben diziler üzerinde döngü konum varsayarak, ve işlevi olduğunu geçiyorum. Bu durumda değilse, o zaman sadece ne olursa olsun yerine $ geçmek için ne gerekiyorsa dizi geçmektedir.

Sadece dizi üzerinde yineleme için bu işlevi kullanırsanız, o zaman da yapabilirdi

$iterator= new LimitIterator(                      // will limit the iterations
               new InfiniteIterator(               // will restart on end
                   new ArrayIterator(              // allows array iteration
                       array('A','B', 'C', 'D'))), // the array to iterate over
       0, 20);                                     // start offset and iterations

foreach($iterator as $value) {
    echo $value; // outputs ABCDABCDABCDABCDABCD
}