Bunun yerine döngüler için kullanarak size foreach döngüleri kullanmak gerekir gibi geliyor. Onları numaralandırılmadan beri Anlaşılan yine endeksleri umurumda değil.
Bu döngü:
for ($i = 0; $i < $loopSize; $i++)
{
process($myArray[$i]);
}
dönüşür
foreach($myArray as $key=> $value)
{
process($value);
/** or process($myArray[$key]); */
}
or even more simply
foreach($myArray as $value)
{
process($value);
}
Ben yerine foreach için kullanarak denedim birkaç durumda, yakında pişman.
Gerçekten her zaman önlenebilir, hatta neredeyse unutmadan, anahtarını foreach kullanın ama değerleri göz ardı ederek kullanabilirsiniz onun için yerine foreach, ama tuşları herhangi bir boşluk kaçınarak ve otomatik sınırları uzunluk / dk olmadan halledilir / max fonksiyonları ya da bir şey.
ex.
foreach($myArray as $key=>$val)
{
myArray[$key] = myFunction(myArray[$key]);
}
Özellikle paralel diziler bu yararlı buldum.
$a = getA(); $b = getB();
foreach($a as $key=>val)
{
$sql = "INSERT INTO table (field1, field2) VALUES ($a[$key], $b[$key])";
}