Bir döngü içerisindeki bir fonksiyonun genel dönüş değerini alma

2 Cevap php

Ben ne yapıyorum, bir dizi üzerinde döngü ve (fonksiyon hata yanlış, başarı döndürür true) dizinin her değerin bir fonksiyonu çalışıyor. Döngü içinde aramaları herhangi bir yanlış döndü ben yanlış dönmek istiyorum, ama ben bütün döngü işlenecek istiyorum.

Kodu ile açıklamak için muhtemelen daha:

foreach($this->_cacheLocations as $cacheId)
{
	$this->deleteCache($cacheId);
}

return true/false depending on whether anything failed above;

Ben mümkünse herhangi FALSEs izlemek için bir değişken tanıtmak için tercih ediyorum. Örneğin, ben aşağıdakileri yapmamayı tercih ediyorum:

$result = true;
foreach($this->_cacheLocations as $cacheId)
{
	$_result = $this->deleteCache($cacheId);
	if(!$_result) $result = false;
}

return $result;

Bunu yapmak için veya ben sadece bunu ikinci yolu yapmalıyım süslü bir yolu var mı?

2 Cevap

Birlikte birden dönüş sonuçlarını izlemek için, ne yazık ki bir değişken ihtiyacımız olacak. Eğer bu döngü kapsamında yerel bir değişken olmak istemedim, size deleteCache() tarafından kurulmuş bir nesne özelliğini oluşturabilir, ama aynı zamanda diğer fonksiyonlar tarafından kullanılıyor sürece, yerel Değişken temiz çözüm.

$this->deleteCache() zaman true veya false, sen böyle bir şey için o kadar kısaltabilir döndürür olduğunu varsayarsak:

$result = true;
foreach($this->_cacheLocations as $cacheId)
{
        $result = $this->deleteCache($cacheId) && $result;
}
return $result;

Eğer kod sizin ikinci kısmında yaptığı gibi, bir değişken ile gitmek istiyorum - en azından, ben durumlarda bu tür içinde ne var.


If you want to eliminate one temporary variable, you could use :

$result = true;
foreach($this->_cacheLocations as $cacheId)
{
        if (!$this->deleteCache($cacheId)) {
            $result = false;
        }
}
return $result;

Ama fikir ne yayınlanmıştır olarak aynı kalır.