Ben dizilerin bir dizi, bir tıbbi cihaz ile bir taramanın ayrıntılarını içeren her dizi var. Ben gece dökülmektedir metin günlükleri bu verileri alıyorum. Biçimi şudur:
$this->scans = array(
array(
'patientid' => (int),
'patientname' => 'John Skeet',
'reviewed' => 0 or 1
//plus more irrelevant
),
array(
//same as above
), //etc
)
Yüksek yeterli kalitede ise her tarama gözden olabilir burada önemli dizi anahtarı, reviewed
olduğunu. Ancak, metin kütükleri sonra incelenir olanlar ile ve yeniden listeleri gider, edinildiği HER taraması dökümü.
Şimdi çoğaltmaları önlemek için, ben sadece hem edinilen ve gözden geçirilmiş bir array_filter
süzmek için taramaları (gözden sürümü tutmak) kullanın diye düşündüm. Ancak, filtre fonksiyonu (bazı nadir durumlar dışında) tüm dizi filtre edilir. Birisi bir göz atın ve o çok takdir oluyor düşünüyorum neden bana bildirin eğer.
$this->scans = array_filter($this->scans, array($this, "scan_cleanup"));
.
private function scan_cleanup($scan) {
//only if the scan was not reviewed
if ($scan['reviewed'] == 0) {
//change reviewed status to see if there is a duplicate
$scan['reviewed'] == 1;
//return false to remove this copy (and keep reviewed)
if (in_array($scan, $this->scans)) {
return false;
}
}
return true;
}