PHP – array_chunk() Fonksiyonu

17 Haziran 2020 tarihinde Emre Can ÖZTAŞ tarafından paylaşıldı.

array_chunk() fonksiyonu, bir diziyi belirlediğiniz aralıklara böler. Yani 42 elemanlı bir diziniz varsa örneğin; 6, 7 veya daha farklı dizilere ayırabilirsiniz.

array_chunk() fonksiyonunun kullanımı aşağıdaki gibidir.

array_chunk(array, size, preserve_key)

Yukarıdaki satırımızın açıklaması da aşağıdaki gibi olacaktır.

array [array]: dizi.

size [integer]: dizinin bölünecek eleman sayısı.

preserve_key [boolean]: dizinin key yani anahtar (üst) elemanlarının aynı kalıp kalmayacağı.

Aşağıdaki gibi bir dizimiz olsun.

$exchange = array(
    'ACSEL',
    9.31, 
    9.25, 
    '%0.65', 
    9.4, 
    9.05, 
    9.27, 
    209903, 
    1945890.1,
    'ADEL',
    13.39,
    13.51,
    '%-0,89',
    13.4,
    13.06,
    13.25,
    174176,
    2307868.54,
    'ADESE',
    1.65,
    1.63,
    '%1.23',
    1.65,
    1.57,
    1.62,
    24107292,
    38958846.58,
);

Yukarıdaki yapımız borsadan alınmıştır. Buradaki değerler; birer hisse senedi ve değerleridir.

Şimdi, dizimizi incelediğimizde; her 9 elemandan sonra yeni bir hisse ve bu hissenin değeridir. Yani burada 3 farklı hisse vardır. Bu hisseleri birbirlerinden array_chunk() fonksiyonu ile ayıralım.

$exchange = array_chunk($exchange, 9);

Kodlarımızın tamamı aşağıdaki gibi olacaktır.

<?php

$exchange = array(
    'ACSEL',
    9.31, 
    9.25, 
    '%0.65', 
    9.4, 
    9.05, 
    9.27, 
    209903, 
    1945890.1,
    'ADEL',
    13.39,
    13.51,
    '%-0,89',
    13.4,
    13.06,
    13.25,
    174176,
    2307868.54,
    'ADESE',
    1.65,
    1.63,
    '%1.23',
    1.65,
    1.57,
    1.62,
    24107292,
    38958846.58,
);

$exchange = array_chunk($exchange, 9);

Yukarıdaki kodumuzun çıktısı da aşağıdaki gibi olacaktır.

Array
(
    [0] => Array
        (
            [0] => ACSEL
            [1] => 9.31
            [2] => 9.25
            [3] => %0.65
            [4] => 9.4
            [5] => 9.05
            [6] => 9.27
            [7] => 209903
            [8] => 1945890.1
        )

    [1] => Array
        (
            [0] => ADEL
            [1] => 13.39
            [2] => 13.51
            [3] => %-0,89
            [4] => 13.4
            [5] => 13.06
            [6] => 13.25
            [7] => 174176
            [8] => 2307868.54
        )

    [2] => Array
        (
            [0] => ADESE
            [1] => 1.65
            [2] => 1.63
            [3] => %1.23
            [4] => 1.65
            [5] => 1.57
            [6] => 1.62
            [7] => 24107292
            [8] => 38958846.58
        )

)

Görüldüğü gibi dizimizi kolayca parçaladık. Bir dizide sıralı 3 hisse senedi varken; artık 3 farklı dizide 3 farklı hisse senedimiz var.

Dizimizde anahtar (üst) eleman olmadığı için presever_key alanını kullanmadık. Şayet anahtar olsaydı ve dizileri anahtarlara göre bölmek isteseydik; true değilse false kullanabilirdik.

Kategoriler: [PHP] Etiketler: #array #array_chunk()

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

*

*
*

This site uses Akismet to reduce spam. Learn how your comment data is processed.