1. Ana Sayfa
  2. Yazılım
  3. Php’de Dizi (Array) Fonksiyonları

Php’de Dizi (Array) Fonksiyonları

php-diziler-array

Php’de diziler için kullanılan, dizi fonksiyonlarının kullanım yapıları hakkında bilgi notları.

print_r()Bir değişkenin (array vs.) depoladığı değerleri çıktı verir.
count()Bir dizi içerisindeki eleman sayısını bize geri döndürür.
sizeof()count() ile aynı işlevi görmektedir.
array_unshift()Dizinin en başına değer eklemek için kullanılır.
array_push()Dizinin sonuna değer eklemek için kullanılır.
array_shift()Dizinin ilk elemanını çeker.
array_pop()Dizinin son elemanını çeker.
current()Dizinin göstericisi konumundaki elemanı döndürür.
pos()current() ile aynı işlevi görüyor.
key()Dizinin göstericisi konumundaki elemanın, anahtarını döndürür.
end()Dizinin göstericisini son elemana kadar ilerletir ve bu elemanın değerini döndürür.
next()Dizinin göstericisi komundaki anahtarı ve elemanı bir ileri alır.
prev()Dizinin göstericisi komundaki anahtarı ve elemanı bir geri alır.
reset()Dizinin göstericisi komundaki anahtarı ve elemanı varsayılan konumuna getirir.
explode()Bir belirtilen veriyi ayraca göre parçalayarak yeni bir dizi oluşturur.
implode()Herhangi bir diziyi düz metine (string) çevirir.
list()Dizi içersinde bulunanları değişkenlere atar.
array_merge()Birden fazla diziyi birleştirmek için kullanılır.
array_combine()İki diziyi ilişkisel olarak anahtar-değer ataması yapmak için kullanılır.

count(): Bir dizi içerisindeki eleman sayısını bize geri döndürür.
Eğer çok boyutlu bir dizi ise COUNT_RECURSIVE komutu eklenmelidir.

$arr = array('Mavi','Kırmızı');
echo count($arr);
// Sonuç: 2
$arr = array('Mavi','Kırmızı',array('Sarı','Açık Sarı'),'Siyah');
echo count($arr,COUNT_RECURSIVE);
// Sonuç: 5

array_unshift(): Dizinin en başına belirtilen değeri ekler ve eğer bir değişken içinde olursa dizinin toplam eleman sayısı geri döndür. Bu fonksiyonla anahtar verilemez. Eğer anahtar değeri verilmek isteniyorsa array_merge() kullanabilir.

$arr = array('Mehmet','Hakan','Ali','Aslı');
$add = array_unshift($arr,'Mustafa','Mert');
print_r($add); // Sonuç: 6
print_r($arr);

/*  Array ( [0] => Mustafa 
            [1] => Mert 
            [2] => Mehmet 
            [3] => Hakan 
            [4] => Ali 
            [5] => Aslı )
*/

//Anahtar verme örneği

$arr2 = array('Kare','Üçgen');
$add2['bicim'] = 'Dikdörtgen';
$arr2 = array_merge($add2,$arr2);
print_r($arr2);

/*  Array ( [bicim] => Dikdörtgen 
            [0] => Kare 
            [1] => Üçgen )
*/

array_push(): Dizinin sonuna belirtilen değeri ekler ve eğer bir değişken içinde olursa dizinin toplam eleman sayısı geri döndür. Bu fonksiyonu kullanmadan değer ekleyebiliriz. Bu fonksiyonla anahtar verilemez. Eğer anahtar değeri verilmek isteniyorsa aşağıdaki yönetem kullanabilir.

$arr = array('Mehmet','Hakan');
$add = array_push($arr,'Mustafa','Ali');
print_r($add); // Sonuç: 4
print_r($arr);

/* Array (  [0] => Mehmet
            [1] => Hakan
            [2] => Mustafa
            [3] => Ali )
*/

// array_push kullanmadan değer ekleme.

$arr2 = array('Mehmet','Hakan');
$arr2[] = 'Murat';
print_r($arr2);

/* Array (  [0] => Mehmet
            [1] => Hakan
            [2] => Murat )
*/

// anahtar ekleme örneği

$arr3 = array('Mehmet','Hakan');
$arr3['isim'] = 'Murat';
print_r($arr3)

/* Array (  [0] => Mehmet 
            [1] => Hakan 
            [isim] => Murat )
*/

array_shift(): Dizinin ilk elamanını çeker. İlk elemanı çektiği için dizi yeniden düzenlenir, eğer nümerik anahtarlar varsa otomatik olarak yeninden sıralanır.

$arr = array('Mehmet','5' => 'Dilekci', 'konu' => 'php');
$first = array_shift($arr);
print_r($first); // Sonuç: Mehmet
print_r($arr); // Array ( [0] => Dilekci [konu] => php )

//Eğer çok boyutlu dizi varsa.

$arr = array('erkek' => array('Mehmet','Tuncay'), 'kadın' => array('Fatma','Hande'));
$first = array_shift($arr['kadın']);
print_r($first); // Sonuç: Fatma
print_r($arr); 

/* Array ( 
                [erkek] => Array ( 
                           [0] => Mehmet 
                           [1] => Tuncay ) 
                [kadın] => Array ( 
                           [0] => Hande ) )
*/

array_pop(): Dizinin son elamanını çeker. Son elemanı çektiği için dizi yeniden düzenlenmez. Anahtar sıralamasına dokunulmaz.

$arr = array('Mehmet','5' => 'Dilekci', 'konu' => 'php');
$last = array_pop($arr);
print_r($last); // Sonuç: php
print_r($arr); // Array ( [0] => Mehmet [5] => Dilekci )

// Çoklu dizi olursa

$arr = array('erkek' => array('Mehmet','Tuncay'), 'kadın' => array('Fatma','Hande'));
$last = array_pop($arr['erkek']);
print_r($last); // Sonuç: Tuncay
print_r($arr); 

/* Array ( 
                [erkek] => Array ( 
                           [0] => Mehmet ) 
                [kadın] => Array ( 
                           [0] => Fatma 
                           [1] => Hande ) )
*/

current(): Dizinin göstericisi konumundaki elemanı döndürür.

$arr = array('Mehmet','Ali','Murat');
echo current($arr); // Sonuç: Mehmet

key(): Dizi göstericisinin konumundaki elemanın, anahtarını döndürür.

$arr = array('Mehmet','Ali','Murat');
echo key($arr); // Sonuç: O
//Örnek

$arr = array(
    'fruit1' => 'apple',
    'fruit2' => 'orange',
    'fruit3' => 'grape',
    'fruit4' => 'apple',
    'fruit5' => 'apple');

// Değeri "elma" olan tüm anahtarları gösterir

while ($fruit_name = current($arr)) { //ilk eleman false oluncaya kadar devam et.
    if ($fruit_name == 'apple') { //eğer meyve adı elmaya eşitse
        echo key($arr).'<br />'; //key() gösterici konumdaki anahtarı yazdı.
    }
    next($arr); //next() gösterici konumunu bir ileri aldı.
}

/* Sonuç
 fruit1
 fruit4
 fruit5
 */

end(): Dizinin göstericisini son elemana kadar ilerletir ve bu elemanın değerini döndürür.

$arr = array('Mehmet','Ali','Murat');
echo end($arr); // Sonuç: Murat

next(): Dizinin göstericisi komundaki anahtarı ve elemanı bir ileri alır.

$arr = array('Mehmet','Ali','Murat','Hakan');
next($arr);
next($arr);
echo current($arr); // Sonuç: Murat

prev(): Dizinin göstericisi komundaki anahtarı ve elemanı bir geri alır.

$arr = array('Mehmet','Ali','Murat','Hakan');
next($arr);
next($arr);
prev($arr);
echo current($arr); // Sonuç: Ali

reset(): Dizinin göstericisi komundaki anahtarı ve elemanı varsayılan konumuna getirir.

$arr = array('Mehmet','Ali','Murat','Hakan');
next($arr);
next($arr);
prev($arr);
echo reset($arr); // Sonuç: Mehmet

explode(): Bir belirtilen veriyi ayraca göre parçalayarak yeni bir dizi oluşturur.

$string = 'Mehmet,Dilekci,Php,Explode,Konusu';
$ex = explode(',',$string); //ayraç virgül
print_r($ex);

/* Array (  [0] => Mehmet
            [1] => Dilekci
            [2] => Php
            [3] => Explode
            [4] => Konusu )
*/

//limit vermek istersek

$string = 'Mehmet,Dilekci,Php,Explode,Konusu';
$ex = explode(',',$string,2); //ilk iki virgülü dikkate aldı
print_r($ex);

/* Array (  [0] => Mehmet 
            [1] => Dilekci,Php,Explode,Konusu )
*/

$string = 'Mehmet,Dilekci,Php,Explode,Konusu';
$ex = explode(',',$string,-3); // negatif değer vererek diziden eleman silebiliriz.
print_r($ex);

/* Array ( [0] => Mehmet [1] => Dilekci )
*/

implode(): Herhangi bir diziyi düz metine (string) çevirmek için kullanılır.

$array = array('Mehmet','Dilekci','Php','Konusu');
echo implode(' | ',$array) //Çıktı Mehmet | Dilekci | Php | Konusu

//ilk parametre veriyi nasıl birleştireceğimizi belirtmek için kullanılır

list(): Dizi içerisinden bulunan elaman veya elemanları değişkenlere atamak için kullanılır.

$array = array('Mehmet','Dilekci','Php','List');
list($value1,$value2,$value3,$value4) = $array;
echo $value1.$value2.$value3.$value4;

//Sonuç: MehmetDilekciPhpList


//eğer kullanmayacağımız değeri geçmek istersek

$array2 = array('Mehmet','Dilekci','Php','List');
list($valueA,,,$valueB) = $array2; //virgül koyup boş bıraktık
echo $valueA.$valueB;

//Sonuç: MehmetList

//çok  boyutlu dizi olursa

$array3 = array('Mehmet',array('A','B','C','D','E'));
list($valueC,list(,,,,$valueE)) = $array3; //ikinci bir list() açarız
echo $valueC.$valueE;

//Sonuç: MehmetE

array_merge(): Birden fazla diziyi birleştirmek için kullanır. Dizilere anahtar değerleri atanmışsa ve bunlar numerik bir değere sahip ise yeni oluşturulan dizi otomatik olarak yeniden sıralanır. Eğer alfanumerik bir değer atanmışsa en son eklenen değer aktarılır.

$arr1 = array('mehmet', 'dilekci');
$arr2 = array('merge', 'konusu');

$arrMerge = array_merge($arr1, $arr2);
print_r($arrMerge);
/*Sonuç
Array
(
    [0] => mehmet
    [1] => dilekci
    [2] => merge
    [3] => konusu
)
*/

//Eğer numerik değer atanırsa yeniden sıralanır

$arr1 = array( 332235 => 'mehmet', 29472402 => 'dilekci');
$arr2 = array( 332235 => 'merge', 29472402 => 'konusu');

$arrMerge = array_merge($arr1, $arr2);

print_r($arrMerge);
/*Sonuç
Array
(
    [0] => mehmet
    [1] => dilekci
    [2] => merge
    [3] => konusu
)
*/ 

//Eğer alfanumerik bir değer atanırsa son değer kalır

$arr1 = array( 'isim' => 'mehmet', 'soyad' => 'dilekci');
$arr2 = array( 'isim' => 'ali', 'soyad' => 'öztürk');

$arrMerge = array_merge($arr1, $arr2);

print_r($arrMerge);

/*Sonuç
Array
(
    [isim] => ali
    [soyad] => öztürk
)
*/

array_merge_recursive(): Array_merge fonksiyonu gibidir fakat burada aynı değere sahip anahtarlar tutulur.

$arr1 = array( 'isim' => 'mehmet', 'soyad' => 'dilekci');
$arr2 = array( 'isim' => 'ali', 'soyad' => 'öztürk');

$arrMerge = array_merge_recursive($arr1, $arr2);

print_r($arrMerge);

/*Sonuç
Array
(
    [isim] => Array
        (
            [0] => mehmet
            [1] => ali
        )

    [soyad] => Array
        (
            [0] => dilekci
            [1] => öztürk
        )

)
*/

array_combine(): İki diziyi ilişkisel olarak anahtar-değer ataması yapmak için kullanılır.

$arrKey =  array('Sayi','Renk','Isim');
$arrValue = array('3','Mavi','Mehmet');

$arrCombine = array_combine($arrKey,$arrValue);

print_r($arrCombine);

/*Sonuç
Array
(
    [Sayi] => 3
    [Renk] => Mavi
    [Isim] => Mehmet
)
*/

Devamı gelecek…..

Yorum Yap

Yazar Hakkında

Teknolojik ve Yazılımsal olan her şeye aşırı derece ilgi duyan birinin, bir nevi günlük defteri. Bu yolda kazandığım bilgi ve deneyimleri sizlerle paylaşıyorum.

Yorum Yap