CodeBlanks Logo Icon CodeBlanks

Meydan okuma - Dizi işlemleri

PHP kursu · Başlangıç · Ders 114/116

İlişkisel dizi, foreach ve dizi metotlarıyla öğrenci not panosu yazarsın.

Meydan okuma - Dizi işlemleri

Bu meydan okumada bir öğrenci not panosu yazacaksın. İki sınıfın notlarını ilişkisel dizi olarak tutacak, array_merge ile birleştirecek ve foreach ile her öğrencinin ortalamasını hesaplayıp ekrana yazdıracaksın.

Her öğrencinin değeri bir not dizisidir; iç içe foreach ile notları toplayıp count ile bölersin. Bu, ilişkisel dizi, döngü ve aritmetik bilgini birlikte kullanır.

Uygulama Not panosunu yaz

$grades1 ilişkisel dizisine "Ayşe" => [80, 90, 100] ve "Mehmet" => [70, 80, 90] ekle. $grades2 dizisine "Zeynep" => [90, 100, 95] ekle. $all = array_merge($grades1, $grades2) ile birleştir. Dış foreach ($all as $name => $scores) ile her öğrenciyi gez; iç foreach ($scores as $score) ile notları topla; $avg = $total / count($scores) hesapla; echo $name . ": " . $avg . "\n" yazdır.

Örnek çözümü göster
$grades1 ve $grades2 ilişkisel dizilerini tanımla; array_merge ile birleştir; dış foreach anahtar değerle, iç foreach notlarla döner; ortalama = toplam / count.
Örnek çözüm:
<?php
// Öğrenci not panosu: array_merge ve iki foreach
$grades1 = [
    "Ayşe" => [80, 90, 100],
    "Mehmet" => [70, 80, 90],
];
$grades2 = [
    "Zeynep" => [90, 100, 95],
];
$all = array_merge($grades1, $grades2);

foreach ($all as $name => $scores) {
    $total = 0;
    foreach ($scores as $score) {
        $total += $score;
    }
    $avg = $total / count($scores);
    echo $name . ": " . $avg . "\n";
}

Kendini test et

  1. array_merge($a, $b) ilişkisel dizilerde nasıl davranır?

    • Ortak anahtarları siler
    • Ortak anahtarların değerini birleştirir
    • Ortak anahtarlarda ikinci dizinin değeri kalır
    • İlişkisel dizileri birleştirmez
    Cevabı göster

    Ortak anahtarlarda ikinci dizinin değeri kalır — Doğru. array_merge'te aynı dize anahtar varsa ikinci dizinin değeri birincinin üzerine yazar.

  2. Dış döngüyü tamamla

    foreach ($all ____ $name => $scores) {
        // iç döngü ve ortalama hesabı
    }
    Cevabı göster
    foreach ($all as $name => $scores) {
        // iç döngü ve ortalama hesabı
    }
  3. Dizi kavramlarını eşle

    array_merge
    dizileri birleştirir
    foreach
    diziyi gezer
    count
    eleman sayısı
    $scores as $score
    iç döngü

Başlangıç bölümündeki tüm dersler