CodeBlanks Logo Icon CodeBlanks

Görev ekleme

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

Görev dizisi oluşturup yeni görev ekleyen fonksiyon yazarsın.

Görev eklemeyi fonksiyona paketleme

İlk derste $tasks[] ile tek bir görev ekledin. Aynı işlemi tekrar tekrar yazmak yerine fonksiyon içine alırız. addTask fonksiyonu, parametre olarak görev dizisini ve yeni görevin başlığını alır; güncellenmiş diziyi döndürür.

PHP'de diziler değer tipindedir; yani fonksiyona gönderdiğinde asıl dizi değişmez. Bu yüzden fonksiyon diziyi kopyalayıp yeni görevi ekler ve return ile geri verir. Çağrıda $tasks = addTask($tasks, ...) yazarak asıl değişkeni güncellersin.

Böylece aynı fonksiyonla istediğin kadar görev ekleyebilirsin; kodun geri kalanı hiç değişmez.

addTask fonksiyonunun gövdesi

Fonksiyon imzası function addTask(array $tasks, string $title): array. Burada array $tasks görev dizisini, string $title eklenecek başlığı belirtir; sonundaki : array dönüş türüdür.

Gövde içinde $tasks[] = ["title" => $title, "done" => false] ile yeni görevi ilişkisel dizi olarak eklersin. done başlangıçta false olur; çünkü yeni görev henüz tamamlanmamıştır. Son olarak return $tasks; ile güncellenmiş diziyi geri verirsin.

Uygulama addTask fonksiyonunu yaz ve iki görev daha ekle

addTask fonksiyonunu tanımla: imza function addTask(array $tasks, string $title): array. Gövdede $tasks[] = ["title" => $title, "done" => false] ile yeni görevi ekle ve return $tasks; ile diziyi geri ver. Sonra $tasks = addTask($tasks, "Süt al") ve $tasks = addTask($tasks, "Çöpü at") çağrılarını yap; ardından echo "Görev sayısı: " . count($tasks) . "\n"; satırını ekle. Böylece çıktıda ikinci satır Görev sayısı: 3 olur.

Örnek çözümü göster
function addTask(array $tasks, string $title): array. Gövdede $tasks[] = ["title" => $title, "done" => false]; return $tasks;. İki çağrı: $tasks = addTask($tasks, "Süt al"); ve $tasks = addTask($tasks, "Çöpü at");. Sonra echo ile sayıyı yazdır.
Örnek çözüm:
<?php
// Görev dizisini başlat ve ilk görevi ekle
$tasks = [];
$tasks[] = ["title" => "Ekmek al", "done" => false];
echo "Görev sayısı: " . count($tasks) . "\n";
// addTask fonksiyonunu tanımla ve iki görev daha ekle
function addTask(array $tasks, string $title): array {
    $tasks[] = ["title" => $title, "done" => false];
    return $tasks;
}
$tasks = addTask($tasks, "Süt al");
$tasks = addTask($tasks, "Çöpü at");
echo "Görev sayısı: " . count($tasks) . "\n";

Kendini test et

  1. addTask fonksiyonu ne döndürmelidir?

    • Hiçbir şey (void)
    • Bir dize (string)
    • Güncellenmiş görev dizisi (array)
    • Görev sayısını (int)
    Cevabı göster

    Güncellenmiş görev dizisi (array) — Doğru. Fonksiyon yeni görev eklenmiş diziyi döndürür; böylece $tasks = addTask(...) ile güncelleriz.

  2. Dönüş türünü tamamla

    function addTask(array $tasks, string $title): ____ {
        return $tasks;
    }
    Cevabı göster
    function addTask(array $tasks, string $title): array {
        return $tasks;
    }
  3. Fonksiyon parçalarını eşle

    function addTask
    fonksiyon tanımlar
    array $tasks
    parametre olarak dizi
    string $title
    parametre olarak dize
    : array
    dönüş türü

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