Turkish (Türkçe) translation by Şevket YILMAZ (you can also view the original English article)
Bu yazıda, PHP'deki dizilerin temellerini öğreneceksiniz. Bir dizinin nasıl oluşturulacağını ve ilişkisel ve çok boyutlu dizilerin nasıl kullanılacağını öğreneceksiniz ve bir çok çalışan dizi örnekleri göreceksiniz.
Dizi Nedir?
PHP'de, bir dizi birden çok öğeyi tek bir değişkende depolamaya olanak sağlayan bir veri yapısıdır. Bu öğeler anahtar-değer çiftleri olarak depolanır. Aslında, bir öğe listesini depolamak gerektiğinde dizi kullanabilirsiniz. Çoğunlukla, dizideki tüm öğeler benzer veri türlerine sahip.
Örneğin, meyve adları saklamak istediğinizi varsayalım. Bir dizi olmadan, farklı meyve adlarını depolamak için birden çok değişken oluşturma yoluna gidecektiniz. Öte yandan, meyve adlarını saklamak için bir dizi kullanırsanız, aşağıdaki gibi görünecektir:
<?php $array_fruits = array('Apple', 'Orange', 'Watermelon', 'Mango'); ?>
Gördüğünüz gibi $array_fruits
değişkenini farklı meyve adlarını saklamak için kullandım. Bu yaklaşımın en iyi yanı $array_fruits
dizi değişkenine daha sonra istediğiniz kadar eleman ekleyebilmenizdir.
Dizi değişkeni değerlerini değiştirmek için bir çok yol vardır— bunları, bu makalenin sonraki bölümünde ele alacağız.
Bir Dizi Nasıl Başlatılır
Bu bölümde, bir dizi değişkeni nasıl başlatılır ve bu değişkene nasıl değer eklenir, bunu ele alacağız.
Bu diziyi başlatmak için, birkaç farklı yolu vardır. Çoğu durumda, bu bir diziyi başlatmak için kullanılan array()
dil yapısıdır.
<?php $array = array(); ?>
Yukarıdaki kod parçasında $array
değişkeni boş bir dizi olarak başlatılır.
PHP 5.4'ten başlayarak, bir diziyi başlatmak için aşağıdaki sözdizimini de kullanabilirsiniz.
<?php $array = []; ?>
Şimdi, bir diziye nasıl öğe eklenir bir bakalım.
<?php $array = []; $array[] = 'One'; $array[] = 'Two'; $array[] = 'Three'; echo '<pre>'; print_r($array); ?>
Yukarıdaki kod parçasının aşağıdaki çıktıyı üretmesi gerekir:
Array ( [0] => One [1] => Two [2] => Three )
Burada unutulmaması gereken önemli şey bir dizi indeksi 0 ile başlar. Bir indeks belirtmeden bir dizi için yeni bir öğe eklediğinizde, dizinin indeksi otomatik olarak atanır.
Kuşkusuz, değerleri olan bir dizi de oluşturabilirsiniz. Hangi değerlerin olacağını biliyorsanız bir diziyi bildirmek için en kısa yol budur.
<?php $array = ['One', 'Two', 'Three']; ?>
Dizi Öğelerine Nasıl Erişilir
Önceki bölümde, bir dizi değişkeninin nasıl başlatıldığını tartıştık. Bu bölümde, dizi öğelerine erişmenin birkaç farklı yolunu ele alacağız.
Dizi öğelerine erişmenin açıkça görünen ilk yolu, öğeleri dizi anahtarı veya indeks kullanarak almaktır.
<?php $array = ['One', 'Two', 'Three']; // get the first element of the $array array echo $array[0]; echo "<br>"; // get the second element of the $array array echo $array[1]; echo "<br>"; // get the third element of the $array array echo $array[2]; echo "<br>"; ?>
Yukarıdaki kod parçasının aşağıdaki çıktıyı üretmesi gerekir:
One Two Three
Yukarıdaki kodu yazmanın temiz yolu, dizinin öğeleri üzerinde yineleme yapmak için foreach
döngüsü kullanmaktır.
<?php $array = ['One', 'Two', 'Three']; foreach ($array as $element) { echo $element; echo '<br>'; } ?>
Yukarıdaki kod parçasının aynı çıktıyı üretmesi gerekir ve çok daha az kod kullanılır.
Benzer şekilde, dizi öğeleri üzerinde döngü ile dolaşmak için for
kullanabilirsiniz.
<?php $array = ['One', 'Two', 'Three']; $array_length = count($array); for ($i = 0; $i < $array_length; ++$i) { echo $array[$i]; echo '<br>'; } ?>
Burada, dizideki her indeksi dolaşmak için for
döngüsü kullanıyoruz ve sonra her indekste saklanan değeri yazdırıyoruz. Bu kod parçasında, dizilerle çalışırken eninde sonunda kullanacağınız en önemli işlevlerden birini tanıtacağız: count
. Bu, bir dizideki öğeleri saymak için kullanılır.
PHP'deki Dizi Türleri
Bu bölümde, PHP'de kullanabileceğiniz farklı türdeki dizileri tartışacağız.
Sayısal İndeksli Diziler
Sayısal indeks içeren bir dizi indekslenmiş dizi kategorisinde yer alır. Aslında, bu makalede şimdiye kadar tartıştığımız örnekler indekslenmiş dizilerdir.
Açıkça belirtmediğiniz zaman sayısal indeks otomatik olarak atanır.
<?php $array = ['One', 'Two', 'Three']; ?>
Yukarıdaki örnekte, her öğe için bir indeks açıkça belirtmedik, bu yüzden sayısal indeks otomatik olarak başlatılacaktır.
Tabii ki, bir diziyi sayısal indeks kullanarak aşağıdaki kod parçasında gösterildiği gibi oluşturabilirsiniz.
<?php $array = []; $array[0] = 'One'; $array[1] = 'Two'; $array[2] = 'Three'; ?>
İlişkili (Associative ) Diziler
İlişkili dizi indekslenmiş diziye benzer, ancak dizi anahtarları için karakter dizisi değerlerini kullanabilirsiniz.
Bir ilişkisel dizi nasıl tanımlanır, hadi görelim.
<?php $employee = [ 'name' => 'John', 'email' => 'john@example.com', 'phone' => '1234567890', ];
Alternatif olarak, aşağıdaki sözdizimini de kullanabilirsiniz.
<?php $employee = []; $employee['name'] = 'John'; $employee['email'] = 'john@example.com'; $employee['phone'] = '1234567890'; ?>
Bir ilişkisel dizinin değerlerine erişmek için indeks veya foreach
döngüsü kullanabilirsiniz.
<?php $employee = [ 'name' => 'John', 'email' => 'john@example.com', 'phone' => '1234567890', ]; // get the value of employee name echo $employee['name']; // get all values foreach ($employee as $key => $value) { echo $key . ':' . $value; echo '<br>'; } ?>
Gördüğünüz gibi burada doğrudan sorgulayarak adı aldık ve sonra dizideki tüm anahtar-değer çiftlerini almak için foreach
döngüsünü kullandık.
Çok Boyutlu Diziler
Şimdiye kadar tartıştığımız örneklerde, dizi öğesi olarak skalar değerleri kullandık. Aslında, dizi öğesi olarak diğer dizileri bile saklayabilirsiniz — bu çok boyutlu bir dizidir.
Haydi bir örneğe bakalım.
<?php $employee = [ 'name' => 'John', 'email' => 'john@example.com', 'phone' => '1234567890', 'hobbies' => ['Football', 'Tennis'], 'profiles' => ['facebook' => 'johnfb', 'twitter' => 'johntw'] ]; ?>
Gördüğünüz gibi, $employee
dizisinin hobbies
anahtarı hobiler dizisini tutar. Aynı şekilde, profiles
anahtarı bir ilişkisel dizi ile farklı profilleri tutar.
Çok boyutlu bir dizinin değerlerine nasıl erişilir, hadi görelim.
<?php $employee = [ 'name' => 'John', 'email' => 'john@example.com', 'phone' => '1234567890', 'hobbies' => ['Football', 'Tennis'], 'profiles' => ['facebook' => 'johnfb', 'twitter' => 'johntw'] ]; // access hobbies echo $employee['hobbies'][0]; // Football echo $employee['hobbies'][1]; // Tennis // access profiles echo $employee['profiles']['facebook']; // johnfb echo $employee['profiles']['twitter']; // johntw ?>
Gördüğünüz gibi çok boyutlu bir dizinin öğelerine indeks veya anahtar ile her dizi bölümüne erişilebilir.
Bazı Yararlı Dizi İşlevleri
Bu bölümde, dizi işlemlerinde sıklıkla kullandığımız bir avuç dolusu yararlı dizi işlevleri göreceğiz.
count
İşlevi
Bir dizideki eleman sayısını saymak için count
işlevi kullanılır. Eğer bir diziyi for
döngüsü ile yinelemek istiyorsanız bu oldukça kullanışlıdır..
<?php $array = ['One', 'Two', 'Three']; // print the number of elements in the array echo count($array); // the above code should output 3 ?>
is_array
İşlevi
Diziler ile başa çıkmak için en yararlı işlevlerinden biridir. Bir değişkenin bir dizi veya başka bir veri türü olup olmadığını denetlemek için kullanılır.
<?php $array = ['One', 'Two', 'Three']; // check if the variable is an array if (is_array($array)) { // perform some array operation } ?>
Eğer veri türünden emin değilseniz, herhangi bir dizi işlemi gerçekleştirmeden önce her zaman bu işlevi kullanmanız gerekir.
in_array
İşlevi
Bir öğenin dizi içinde olup olmadığını denetlemek isterseniz, imdadınıza yetişecek olan in_array
işlevidir.
<?php $array = ['One', 'Two', 'Three']; // check if a variable is an array if (in_array('One', $array)) { echo 'Yes'; } else { echo 'No'; } ?>
in_array
işlevinin ilk bağımsız değişkeni denetlemek istediğiniz öğe ve ikinci bağımsız değişken dizinin kendisidir.
explode
İşlevi
explode
işlevi bir karakter dizisini birden fazla parçaya böler ve bir dizi olarak döndürür. Örneğin, virgül ile bölmek istediğiniz ve virgülle ayrılmış bir karakter diziniz var diyelim.
<?php $string = "One,Two,Three"; // explode a string by comma $array = explode(",", $string); // output should be an array echo '<pre>'; print_r($array); // output /*Array ( [0] => One [1] => Two [2] => Three )*/ ?>
explode
işlevinin birinci bağımsız değişkeni bir sınırlayıcı karakter dizisi (ayırmak için kullanılan karakter dizisi), ve ikinci bağımsız değişken dizinin kendisidir.
implode
İşlevi
Bu explode
işlevinin tersidir — bir dizi ve bir birleştirme karakter dizisi göz önüne alındığında, implode
işleviyle, bir dizinin tüm elemanlarını aralarında bir birleştirme karakteri ile birleştirerek karakter dizisi oluşturabilirsiniz.
<?php $array = ['One', 'Two', 'Three']; $string = implode(",", $array); // output should be a string echo $string; // output: One,Two,Three ?>
implode
işlevinin birinci bağımsız değişkeni bir birleştirme karakter dizisi ve ikinci bağımsız değişken implode edilecek dizidir.
array_push
İşlevi
array_push
işlevi bir dizinin sonuna yeni öğe eklemek için kullanılır.
<?php $array = ['One', 'Two', 'Three']; array_push($array, 'Four'); echo '<pre>'; print_r($array); // output /*Array ( [0] => One [1] => Two [2] => Three [3] => Four )*/ ?>
İlk bağımsız değişken bir dizidir ve izleyen bağımsız değişkenler, dizinin sonuna eklenecek öğelerdir.
array_pop
İşlevi
array_pop
işlevi bir dizinin sonundan bir elemanı kaldırır.
<?php $array = ['One', 'Two', 'Three']; $element = array_pop($array); echo '<pre>'; print_r($array); // output /*Array ( [0] => One [1] => Two )*/ ?>
array_pop
işlevi diziden kaldırılan öğeyi döndürür böylece bunu bir değişkene aktarabilirsiniz. array_push
ile birlikte, bu işlev yığın gibi veri yapıları gerçekleştirmek için yararlıdır.
Sonuç
PHP'de dizileri kodlamaya başlamak için tek ihtiyacınız bunlardır. Dizilerin nasıl oluşturulduğunu ve diziden öğelerin nasıl alınacağını gördünüz. PHP'deki farklı türde dizileri öğrendiniz ve dizilerle çalışmak için en yararlı PHP fonksiyonların bazılarına bir göz attınız.
Envato Tuts+ tutorials are translated into other languages by our community members—you can be involved too!
Translate this post