'array_slice' ile Kesit Alma
Coddy'nin PHP Journey'sinin Mantık ve Akış bölümünün bir parçası. Ders 16 / 68.
array_slice() fonksiyonu, orijinal diziyi değiştirmeden bir dizinin belirli bir bölümünü çıkarmanıza olanak tanır. Kaynak diziyi değiştiren array_pop() veya array_shift() gibi fonksiyonların aksine, array_slice() yalnızca belirttiğiniz öğeleri içeren yeni bir dizi oluşturur.
İşlev iki ana parametre alır: offset (başlangıç konumu) ve length (kaç öğenin çıkarılacağı):
<?php
$scores = [95, 87, 92, 78, 85, 90, 88];
$topThree = array_slice($scores, 0, 3);
print_r($topThree); // Outputs: Array ( [0] => 95 [1] => 87 [2] => 92 )
print_r($scores); // Orijinal dizi değişmedi
?>offset parametresi PHP’ye ayıklamaya nereden başlayacağını söyler (0, ilk öğe anlamına gelir); length parametresi ise kaç öğe alınacağını belirtir. Dizinin sonundan başlayarak saymak için offset için negatif değerler de kullanabilirsiniz.
Bu fonksiyon, büyük bir listeden yalnızca ilk birkaç öğeyi görüntülemek veya işleme için belirli bir öğe aralığını çıkarmak gibi verilerin bir alt kümesiyle çalışmanız gerektiğinde, orijinal verilerinizi olduğu gibi koruyarak özellikle yararlı olur.
Görev
KolayÜç girdi alacaksınız: JSON biçiminde ürün fiyatlarından oluşan bir dizi, başlangıç konumu (offset) ve çıkarılacak öğe sayısı (length). Her üç girdiyi okuyun, JSON dizesini bir diziye dönüştürün, dizinin belirtilen bölümünü çıkarmak için array_slice() kullanın ve çıkarılan parçayı print_r() kullanarak yazdırın.
Girdi biçimi: Üç satırdır - ilk satır sayılardan oluşan bir JSON dizisi içerir (örnek: [29.99,15.50,42.00,8.75,33.25]), ikinci satır offset'i (başlangıç konumu), üçüncü satır ise uzunluğu (çıkarılacak öğe sayısı) içerir.
Beklenen çıktı: print_r() kullanılarak görüntülenen dizinin çıkarılan bölümü
Kendin dene
<?php
// Fiyatların JSON dizisini oku
$json_input = fgets(STDIN);
$prices = (array)json_decode($json_input, true);
// Ofseti (başlangıç pozisyonunu) oku
$offset = intval(fgets(STDIN));
// Uzunluğu (çıkarılacak öğe sayısını) oku
$length = intval(fgets(STDIN));
// YAPILACAK: Dilimi çıkarmak ve çıktı olarak vermek için kodunuzu aşağıya yazın
?>Bu ders kısa bir quiz içerir. Soruları yanıtlamak ve ilerlemeni kaydetmek için derse başla.
Mantık ve Akış bölümündeki tüm dersler
1İleri Seviye Fonksiyonlar
Anonim FonksiyonlarClosure'lar ve 'use'Ok Fonksiyonları (Arrow Functions)Geri Çağırma (Callback) Fonksiyonları'call_user_func' KullanımıDeğişken FonksiyonlarReferans ile Değer AktarımıÖz Yinelemeli (Recursive) FonksiyonlarÖzet: Fonksiyon Karması4Çok Boyutlu Diziler
2 Boyutlu Dizi Oluşturma2 Boyutlu Dizi Elemanlarına Erişme2 Boyutlu Dizi Elemanlarını Değiştirmeİç İçe Döngülerle Yineleme2 Boyutlu İlişkisel DizilerÖzet: Basit Izgara Egzersizi2İleri Düzey Dizi İşlemleri
'array_push' ile Ekleme'array_pop' ile Silme'array_unshift' ile Ekleme'array_shift' ile Silmeİndisli Dizileri Birleştirmeİlişkisel Dizileri Birleştirme'array_slice' ile Kesit Alma'in_array' ile Değer Kontrolü'array_search' ile Anahtar AramaÖzet: Çalma Listesi Alıştırması3Dizileri Sıralama
İndisli Dizileri Artan Sırada Sıralamaİndisli Dizileri Azalan Sırada Sıralamaİlişkisel Dizileri Değere Göre Sıralamaİlişkisel Dizileri Anahtara Göre SıralamaDoğal Sıralama (Natural Order)'usort' ile Özel SıralamaÖzet: Liderlik Tablosu SıralamaKendi başına pratik yap: Online PHP derleyicisi