0Pricing
PHP Academy · Ders

Dizi Dönüştürme İşlevleri

array_map, array_filter ve array_reduce uygulayın.

Dizi Dönüştürme İşlevleri, CoddyKit'te ücretsiz bir PHP Academy dersidir. Bu, 4 dersinin 4. dersidir. Aşağıdan dersin tamamını ücretsiz okuyabilir, sonra tarayıcıda yerleşik kod editörü ve 7/24 yapay zeka koçu ile uygulamalı olarak pratik yapabilirsin. Bu, PHP Academy öğrenme yolunun bir parçasıdır ve ilerlemeniz web ve CoddyKit uygulaması arasında senkronize olur. PHP Academy kursu toplamda 4 dersten oluşur.

İşlevsel Dizi Dönüşümleri

PHP, açık döngüler kullanmadan dizileri dönüştürmek için üç güçlü üst düzey işlev sunar:

  • array_map() — her öğeyi dönüştürür
  • array_filter() — bir sınamayı geçen öğeleri tutar
  • array_reduce() — tek bir değere indirger

array_map()

Her öğeye bir geri çağırma işlevi uygulayıp yeni bir dizi döndürün:

<?php
$prices = [10, 20, 30, 40];

$doubled = array_map(fn($p) => $p * 2, $prices);
print_r($doubled); // [20, 40, 60, 80]

// Multiple arrays
$a = [1, 2, 3];
$b = [10, 20, 30];
$sums = array_map(fn($x, $y) => $x + $y, $a, $b);
print_r($sums); // [11, 22, 33]

array_filter()

Bir geri çağırma işlevinin koşulunu karşılayan öğeleri tutar. Geri çağırma işlevi olmadan yanlış kabul edilen değerleri kaldırır:

<?php
$numbers = [1, 2, 3, 4, 5, 6];

$evens = array_filter($numbers, fn($n) => $n % 2 === 0);
print_r($evens); // [1=>2, 3=>4, 5=>6] — keys preserved!

$reindexed = array_values($evens); // re-index

$mixed = [0, 'hello', '', null, false, 42];
print_r(array_filter($mixed)); // [1=>'hello', 5=>42]

array_reduce()

Bir geri çağırma işlevini birikimli olarak uygulayarak bir diziyi tek bir değere indirger:

<?php
$cart = [
    ['name' => 'Widget', 'price' => 10],
    ['name' => 'Gadget', 'price' => 25],
    ['name' => 'Doohickey', 'price' => 5],
];

$total = array_reduce($cart, fn($carry, $item) => $carry + $item['price'], 0);
echo $total;  // 40

Dönüşümleri Zincirleme

Anlatımı güçlü veri işlem hatları oluşturmak için eşleme, süzme ve indirgeme işlemlerini zincirleyin:

<?php
$scores = [45, 80, 30, 90, 55, 70];

$passingAvg = array_sum(
    array_filter($scores, fn($s) => $s >= 50)
) / count(array_filter($scores, fn($s) => $s >= 50));

echo $passingAvg;  // 74.75

Anahtarlarla array_map

array_map anahtarları aktarmaz. Hem anahtara hem de değere ihtiyaç duyduğunuzda array_walk kullanın:

<?php
$prices = ['apple' => 1.0, 'banana' => 0.5, 'cherry' => 2.0];

$formatted = [];
array_walk($prices, function($price, $name) use (&$formatted) {
    $formatted[$name] = '$' . number_format($price, 2);
});

print_r($formatted);

array_chunk()

Bir diziyi belirtilen boyutta parçalara ayırın:

<?php
$items = range(1, 10);
$batches = array_chunk($items, 3);
print_r($batches);
// [[1,2,3], [4,5,6], [7,8,9], [10]]

array_combine()

Bir anahtar dizisini değer dizisiyle birleştirerek ilişkisel bir dizi oluşturun:

<?php
$keys   = ['name', 'age', 'city'];
$values = ['Alice', 30, 'London'];

$person = array_combine($keys, $values);
print_r($person);
// ['name'=>'Alice','age'=>30,'city'=>'London']

array_map ile array_zip

PHP'de yerleşik bir zip işlevi yoktur; ancak array_map(null, ...) zip benzeri bir yapı oluşturur:

<?php
$names  = ['Alice', 'Bob'];
$scores = [90, 85];

$zipped = array_map(null, $names, $scores);
print_r($zipped);
// [['Alice', 90], ['Bob', 85]]

array_map Anahtarları Korur

Tek bir diziyle kullanıldığında array_map anahtarları korur. Yeniden indislemek için array_values kullanın:

<?php
$assoc = ['a' => 1, 'b' => 2, 'c' => 3];

$result = array_map(fn($v) => $v * 10, $assoc);
print_r($result);
// ['a'=>10, 'b'=>20, 'c'=>30] — keys preserved

array_sum ve array_product

Sayısal diziler için hızlı indirgeme yardımcıları:

<?php
$nums = [1, 2, 3, 4, 5];

echo array_sum($nums);      // 15
echo array_product($nums);  // 120 (1*2*3*4*5)

// Works with floats too
$prices = [1.5, 2.5, 3.0];
echo array_sum($prices);    // 7.0

Hızlı Kontrol

Hangi işlev her öğeye bir geri çağrı işlevi uygulayıp yeni bir dizi döndürür?

Özet: Dizi Dönüştürme İşlevleri

Özet:

  • array_map() — her öğeyi yeni bir diziye dönüştürür
  • array_filter() — bir koşula uyan öğeleri tutar
  • array_reduce() — tek bir birikimli değere indirger
  • array_chunk() — alt dizilere ayırır
  • array_combine() — anahtarlardan ve değerlerden ilişkisel dizi oluşturur
  • array_sum/product() — hızlı sayısal indirgemeler

Sıkça Sorulan Sorular

“Dizi Dönüştürme İşlevleri” dersi ücretsiz mi?

Evet — “Dizi Dönüştürme İşlevleri” dersin tüm metni burada web'de ücretsiz olarak okunabilir. Etkileşimli olarak pratik yapmak (yerleşik kod editörü ve 7/24 yapay zeka koçu) ve PHP Academy kursunun geri kalanını açmak için CoddyKit PRO'ya yükselt. PHP Academy kursu toplamda 4 dersten oluşur.

“Dizi Dönüştürme İşlevleri” dersinde ne öğreneceğim?

array_map, array_filter ve array_reduce uygulayın. PHP Academy ile uygulamalı kodu tarayıcıda doğrudan çalıştırarak pratik yaparsın ve 7/24 yapay zeka koçu dersi çalışırken sorularını yanıtlar.

PHP Academy öğrenmeye başlamak için deneyim gerekli mi?

Önceden deneyim gerekmez. CoddyKit'te PHP Academy, başlangıçtan ileri seviyeye kadar yapılandırıldığı için buradan başlayabilir veya başından başlayıp kendi hızında ilerleme yapabilirsin. Bu, 4 dersinin 4. dersidir.

“Dizi Dönüştürme İşlevleri” dersi ne kadar sürer?

Çoğu CoddyKit dersi yaklaşık 5–10 dakika sürer. Her biri kısa ve etkileşimli olduğu için sabit ilerleme yaparsın ve web ile uygulama arasında tam olarak bıraktığın yerden devam edebilirsin.

Bu PHP Academy dersinde kod yazıp çalıştırabilir miyim?

Evet. Her PHP Academy dersi yerleşik bir kod editörü içerir, bu sayede tarayıcıda gerçek kod yazıp çalıştırabilir ve anlık yapay zeka geri bildirimi alırsın — yerel kurulum gerekli değildir.

Bu kursun tüm dersleri

  1. İndeksli ve İlişkisel Diziler
  2. Çok Boyutlu Diziler
  3. Dizileri Sıralama ve Arama
  4. Dizi Dönüştürme İşlevleri
← PHP Academy Sayfasına Dön