<?php
$kayitlar = [
['cami_adi' => 'ZELİHA ENGİN', 'kisi_sayisi' => 2],
['cami_adi' => 'ZELİHA ENGİN', 'kisi_sayisi' => 4],
['cami_adi' => 'HZ.OSMAN C.', 'kisi_sayisi' => 6],
['cami_adi' => 'HZ.OSMAN C.', 'kisi_sayisi' => 2],
['cami_adi' => 'HZ.OSMAN C.', 'kisi_sayisi' => 4]
];
function camiAdiTemizle($camiAdi) {
$camiAdi = strtoupper(trim($camiAdi));
// Benzer isimleri birleştirmek için
if (strpos($camiAdi, 'ZELIHA') !== false || strpos($camiAdi, 'ENGİN') !== false) {
return 'Zeliha Engin Camii';
}
if (strpos($camiAdi, 'HZ.OSMAN') !== false || strpos($camiAdi, 'OSMAN') !== false) {
return 'Hz. Osman Camii';
}
return $camiAdi;
}
// Kayıtları gruplama ve toplama
function kayitlariGrupla($kayitlar) {
$grupluKayitlar = [];
foreach ($kayitlar as $kayit) {
$temizCamiAdi = camiAdiTemizle($kayit['cami_adi']);
if (isset($grupluKayitlar[$temizCamiAdi])) {
$grupluKayitlar[$temizCamiAdi] += $kayit['kisi_sayisi'];
} else {
$grupluKayitlar[$temizCamiAdi] = $kayit['kisi_sayisi'];
}
}
return $grupluKayitlar;
}
// Sonuçları yazdırma
function sonuclariYazdir($grupluKayitlar) {
echo "Cami Kayıtları Toplamı:\n";
echo str_repeat("-", 30) . "\n";
foreach ($grupluKayitlar as $camiAdi => $toplamKisi) {
printf("%-20s %d\n", $camiAdi, $toplamKisi);
}
echo str_repeat("-", 30) . "\n";
echo "Toplam Kişi Sayısı: " . array_sum($grupluKayitlar) . "\n";
}
// Ana işlem
$grupluKayitlar = kayitlariGrupla($kayitlar);
sonuclariYazdir($grupluKayitlar);
// Veritabanından veri çekme örneği (PDO ile)
/*
function veritabanindanKayitlariCek($pdo) {
$sql = "SELECT cami_adi, kisi_sayisi FROM kayit_tablosu";
$stmt = $pdo->prepare($sql);
$stmt->execute();
return $stmt->fetchAll(PDO::FETCH_ASSOC);
}
?>