PHP

PHP Dizi Fonksiyonları

Yazar - UĞUR

PHP’de dizilerle çok sık çalışırız. Diziler üzerinde işlem yapmamızı kolaylaştıran birçok tanımlı fonksiyon vardır. Bunlardan bazılarını bu yazıda bulabilirsiniz.

explode() — string bir ifadeyi ayraca göre bölüp bir dizi(array) haline getirir.

1. Örnek
$pizza  = "dilim1,dilim2,dilim3,dilim4,dilim5,dilim6";
$dilimler = explode(",", $pizza); // stringi her virgülden bölerek bir dizi haline getirdik.
echo $dilimler[0]; // dilim1
echo $dilimler[1]; // dilim2
2. örnek
$data = "foo:*:1023:1000::/home/foo:/bin/sh";
list($user, $pass, $uid, $gid, $gecos, $home, $shell) = explode(":", $data);
echo $user; // foo
echo $pass; // *

implode() — Dizi elemanlarını birleştirip bir string elde eder.

$dizi = array('soyadı', 'eposta', 'telefon');
$string = implode(",", $array); //ilk parametre dizinin her elemanından sonra araya virgül attık.
echo $string ; // soyadı,eposta,telefon

count() — Bir dizideki eleman sayısını veya bir nesnedeki özellik sayısını döndürür.

$arr=[1,2,3,4,5];
echo count($arr); // 5

is_array() — Değişkenin bir dizi(array) içerip içermediğine bakar. Belirtilen değişken bir dizi içeriyorsa TRUE döner.

$string = "deneme";
$arr = [1,2,3];
is_array($string); // false
is_array($arr); // true

shuffle() — Verilen diznin elemanlarını rastgele sıralar.

$arr = [1,2,3,4,5,6];
shuffle($arr);
print_r($arr);

array_combine() — Anahtarlar(Key) için bir dizi, değerler(Value) için ise başka bir dizi kullanarak bir ilişkisel dizi oluşturur

$key = ["ad", "soyad"];
$value = ["uğur", "öksüz"];
$arr = array_combine($key, $value);
var_export($arr);

array_count_values() — Bir dizideki tüm değerleri sayar. Her elemandan kaçar adet olduğu bilgisini verir.


$array = array(1, "hello", 1, "world", "hello");
print_r(array_count_values($array)); // 2 adet 1, 3 adet "hello", 1 adet "world" değerleri var

array_fill() — Bir diziyi değerlerle doldurur. Örnek ile bakalım:

$a = array_fill(5, 6, 'muz');  // 5. indeksten başlayarak 6 adet elemanın değerini muz yaptık
print_r($a);

array_flip() — Bir dizideki anahtarlarla değerleri yer değiştirir

$trans = array("a" => 1, "b" => 1, "c" => 2);
$trans = array_flip($trans);
print_r($trans);

array_key_exists() — Belirtilen anahtar veya indis dizide var mı diye bakar

$dizi = array('ilk' => 1, 'ikinci' => 4);
if (array_key_exists('ilk', $dizi)) {
    echo "'ilk' elememanı dizide mevcut";
}

array_map() — Belirtilen dizilerin elemanlarına bir fonksiyon ile işlem yapmamızı sağlar.

function cube($n)
{
    return($n * $n * $n);
}
$a = array(1, 2, 3, 4, 5);
$b = array_map("cube", $a); // dizinin elemanlarının herbirinin küpünü veren bir fonksiyon uyguladık.
print_r($b); 

array_filter() — Bir dizinin elemanlarını bir geriçağırım fonksiyonu ile süzgeçten geçirir

function tek($var)
{
   //tamsayı girdi tek sayı mı diye bakar
    return($var & 1);
}
function cift($var)
{
   //tamsayı girdi çift sayı mı diye bakar
    return(!($var & 1));
}
$array1 = array("a"=>1, "b"=>2, "c"=>3, "d"=>4, "e"=>5);
$array2 = array(6, 7, 8, 9, 10, 11, 12);
print_r(array_filter($array1, "tek"));
print_r(array_filter($array2, "cift"));

array_merge() — Dizileri ardarda ekleyerek yeni bir dizi oluşturur.

$array1 = array("color" => "red", 2, 4);
$array2 = array("a", "b", "color" => "green", "shape" => "trapezoid", 4);
$result = array_merge($array1, $array2);
print_r($result);

array_rand() — Bir diziden belli sayıda rasgele eleman döndürür

$input = array("a", "b", "c", "d", "d");
$rand_keys = array_rand($input, 2); //diziden rastgele iki elemanı seçtik.
echo $input[$rand_keys[0]] . "\n";
echo $input[$rand_keys[1]] . "\n";

array_reverse() — Diziyi tersine sıralayıp döndürür

$girdi  = array(1,2,3,4);
print_r(array_reverse($girdi));
print_r(array_reverse($girdi, true)); //indeks değerlerni de tersine sıralar.

array_search() — Bir dizide belirtilen değeri arar ve bulursa ilgili anahtarı döndürür

$array = array(0 => 'lacivert', 1 => 'sarı', 2 => 'yeşil', 3 => 'mavi');
echo array_search('mavi', $array); // $key = 2;
echo array_search('sarı', $array); // $key = 1;

in_array() — Bir dizide bir değerin varlığını araştırır. Büyük-küçük harfe duyarlıdır.

$os = array("Mac", "NT", "Irix", "Linux");
if (in_array("Irix", $os)) {
    echo "Irix var";
}
if (in_array("mac", $os)) {
    echo "Mac var";
}
//Büyük-küçük harf duyarlılığından dolayı ikinci if çalışmaz

array_shift() — Dizini başlangıcından bir eleman çeker

$deste = array("as", "papaz", "kız", "vale");
$kart = array_shift($deste);
echo "kart:" . $kart;
print_r($deste);

array_pop() — Dizinin sonundaki elemanı diziden çıkartır

$depo = array("portakal", "muz", "elma", "ahududu");
$meyve = array_pop($depo);
echo 'meyve: ' . $meyve; 
print_r($depo);

array_slice() — Bir dizinin belli bir bölümünü döndürür

$input = array("a", "b", "c", "d", "e");

$output = array_slice($input, 2);      // çıktısı: "c", "d", "e"
$output = array_slice($input, -2, 1);  // çıktısı: "d"
$output = array_slice($input, 0, 3);   // çıktısı: "a", "b", "c"

// dizi indisleri arasındaki farklara dikkat edin
print_r(array_slice($input, 2, -1));
print_r(array_slice($input, 2, -1, true));

array_sum() — Bir dizideki değerlerin toplamını hesaplar

$arr = [1,2,3,4,5];
echo array_sum($arr); // 15

array_product() — Bir dizideki değerlerin çarpımını bulur

// $arr = [3,4,5];
// echo array_product($arr); // 60

array_unique() — Diziden yinelenen değerleri siler

$girdi = array("a" => "yeşil", "kırmızı", "b" => "yeşil", "mavi", "kırmızı");
$sonuç = array_unique($girdi);
print_r($sonuç);

array_values() — Bir dizinin tüm değerlerini döndürür

$dizi = array("beden" => "XL", "renk" => "sarı");
print_r(array_values($dizi));

array_push() — Belli sayıda elemanı dizinin sonuna ekler

$küme = array("elma", "armut");
array_push($küme, "muz", "portakal");
print_r($küme);

$array[] = $var; Bu şekilde de diziye değer ekleyebiliriz. array_push() fonksiyonu ile aynı işi yapar.

array_unshift() — Bir dizinin başlangıcına bir veya daha fazla eleman ekler

$liste = array("ayva", "muz");
array_unshift($liste, "elma", "armut");
print_r($liste);

array_keys() — Bir dizideki tüm anahtarları veya bir anahtar altkümesini döndürür

$array = array(0 => 100, "color" => "red");
print_r(array_keys($array));

$array = array("blue", "red", "green", "blue", "blue");
print_r(array_keys($array, "blue"));

$array = array("color" => array("blue", "red", "green"),
               "size"  => array("small", "medium", "large"));
print_r(array_keys($array));

current() — Bir diziden gösterici konumundaki elemanı döndürür
end() — Bir dizinin dahili göstericisini sonuncu elemana konumlandırır
next() — Dahili dizi göstericisini bir ilerletir
prev() — Dahili dizi göstericisini bir geriletir
reset() — Bir dizinin dahili göstericisini ilk elemana konumlar
each() — Bir diziden, gösterici konumundaki anahtar değer çiftini döndürdükten sonra göstericiyi bir ilerletir

$araç = array('tabanvay', 'bisiklet', 'otomobil', 'uçak');
$kip = current($araç); // $kip = 'tabanvay';
$kip = next($araç);    // $kip = 'bisiklet';
$kip = current($araç); // $kip = 'bisiklet';
$kip = next($araç);    // $kip = 'otomobil';
$kip = prev($araç);    // $kip = 'bisiklet';
$kip = end($araç);     // $kip = 'uçak';
$kip = current($araç); // $kip = 'uçak';

$arr = array();
var_dump(current($arr)); // bool(false)

$arr = array(array());
var_dump(current($arr)); // array(0) { }

extract() — Bir dizideki anahtar(key) değerleri değişken gibi kullanmamızı sağlar

$arr = [ "ad" => "Uğur", "soyad" => "öksüz",];  
extract($arr);
echo $ad;
echo $soyad;

sort() – dizileri artan sırada sırala
rsort() – dizileri azalan sıralama
asort() – ilişkisel dizileri, değere göre artan düzende sıralar
ksort() – birleştirici dizileri, anahtara göre artan düzende sıralayın
arsort() – ilişkisel dizileri değere göre azalan düzende sıralar
krsort() – ilişkisel dizileri, anahtara göre azalan düzende sıralayın

 

 

Yorum Yap

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