Php Array

PHP Array Fonksiyonları

tolga taşçı
3 min readMar 3, 2020

Array Nedir?

Öncelikle array bir veri türüdür. Bir küme olarak düşünebiliriz, ancak PHP de aynı isim veya sayı tür barınabilir. Çoğu dillere kıyasla array değişkeni PHP de en harika olarak düşünüyorum. Tanımsız ve bağımsızdır.

Basit bir array örneği

array('tolga','tasci',5,6,true) // 5.4 Öncesi (Her zaman çalışır)['tolga','tasci',5,6,true] // 5.4 ve sonrası

PHP’de array değişkenleri önceden tanımlanmasına gerek yoktur. JAVA gibi diller gibi. Kolaylıkla çoğaltılabilir ve değiştirebilir.

Array Keys Nedir

Array key değerleri sayısal veya Yazısal olabilir. ( Integer, String )
İsterseniz güzel bir örnekle gösterelim. Dizelerde anahtarlar otomatik olarak belirtilmediği sürece sayısal değer alırlar. Bu sayısal değerler 0 ile başlar. Örneğin 5 tane elaman varsa 0, 1, 2 , 3, 4 şeklinde anahtar dizesi alır.

var_dump(array('tolga','tasci',5,6,true)) // otomatik sayısalarray(5) { [0]=> string(5) "tolga" [1]=> string(5) "tasci" [2]=> int(5) [3]=> int(6) [4]=> bool(true) }

Şimdide yazısal (String) anahtarlara göz atalım. Aşağıda paylaştığım sonuçlara göz attığınızda anahtar dizeleri yazısal da olabileceğini gördük.

var_dump([
'test'=>'test 1',
'test2'=>'test 2 değeri',
'test3'=>3,
])
array(3) { ["test"]=> string(6) "test 1" ["test2"]=> string(14) "test 2 değeri" ["test3"]=> int(3) }

Peki bunlara nasıl erişebiliriz ve bir döngüye alabiliriz ? Çünkü; yazısal olan bir array değişkenini kaç tane elaman olduğunu ve bunları hangi anahtar ile çağıracak olmamız.

$degisken[0]; // Basit bir şekilde array değişkeninden ilk elamanımızı istedik.
$y_degisken['test']; // Yazısal anahtar olarak değişkenden test adında anahtara sahip elamanı istedik.
// aşağıda for döngüsüne alıp array değişkenindeki tüm elamanları (sayısal anahtarlara sahip) ekrana yazdırdık.for($i=0;$i<count($degisken);$i++):
print($degisken[$i]);
endfor;
// Yazısal olarak LOOP etmek için for ile
$yazi_degisken = [
'test'=>'test 1',
'test2'=>'test 2 değeri',
'test3'=>3,
];
$yazi_degisken_keys = array_keys($yazi_degisken);for($i=0;$i<count($yazi_degisken);$i++):
print($yazi_degisken[$yazi_degisken_keys[$i]]);
endfor;
yada basit bir yol ile foreach kullanarak$yazi_degisken = [
'test'=>'test 1',
'test2'=>'test 2 değeri',
'test3'=>3,
];
foreach($yazi_degisken as $key => $degisken_deger):
print($key);
print(' : ');
print($degisken_deger);
endforeach;

array_push Dizeye yeni eleman veri ekleme

$degisken = [
'tolga','tasci'
];
array_push($degisken, '27');
print_r($degisken);
Array ( [0] => tolga [1] => tasci [2] => 27 )

Array Silme işlemi

$degisken = array('tolga','tasci',5,6,true);unset($degisken[0]);var_dump($degisken);
array(4) { [1]=> string(5) "tasci" [2]=> int(5) [3]=> int(6) [4]=> bool(true) }

array_map Nedir ?

Bu işlev oldukça hoşunuza gideceğini düşünüyorum. Array değişkeniniz deki tüm elemanları fonksiyondan geçirir ve size yeni bir değişken olarak verir. Örnekle açıklamak gerekirse.

function convert_money($money)
{
return number_format($money, 2, ',', '.');
}
$degisken = array(10, 20, 30, 40, 50);
$yeni_degisken = array_map("convert_money", $degisken);
var_dump($yeni_degisken);
array(5) { [0]=> string(5) "10,00" [1]=> string(5) "20,00" [2]=> string(5) "30,00" [3]=> string(5) "40,00" [4]=> string(5) "50,00" }

Gördüğünüz gibi her eleman için convert_money fonksiyonu çalıştırıyor ve number_format uygulayarak geri değer alıyor.

array_key_last

Array değişkeniniz de size en son elamanın anahtarını verir. Bazen listenizin en son elamanına ihtiyaç duyabiliriz. Bunu loop yerine tek seferde çağırabiliriz.

$degisken = array(10, 20, 30, 40, 50);var_dump(array_key_last($degisken)); //dönen sonuç 4 olucakvar_dump($degisken[array_key_last($degisken)]); // sonuç 50 olacak// başka bir yöntem ise$y_degisken = array('test'=>'test 1','test2'=>'test 2','test3'=>'test 3');
var_dump(end(array_keys($y_degisken))); // sonuç test3 yani anahtar verecek
var_dump($y_degisken[end(array_keys($y_degisken))]); // test 3 çıktısı verecek

array_key_first

Array değişkeniniz de size ilk elamanının anahtarını verir.

$degisken = array(10, 20, 30, 40, 50);var_dump(array_key_first($degisken)); //dönen sonuç 0 olucakvar_dump($degisken[array_key_first($degisken)]); // sonuç 10 olacak

Bazılarımız değişkeni çağırırken index 0 olarak çağırıp ilk elamanı alırım diyebilir. Bu sayısal bir anahtara sahip array değişkeni için doğru ancak yazısal bir anahtara sahip olduğunda bu sayede çağırabilirsiniz.

array_key_exists

Array değişkeniniz de anahtarınızın olup olmadığını kontrol eder. Sadece anahtar ( key) kontrol eder.

$degisken = array('key_1'=>'1. yazi','key_2'=>'2. yazı');
var_dump(array_key_exists('key_1',$degisken)); // true
if(array_key_exists('key_2',$degisken)) echo 'key_2 mevcut';

array_merge

Array değişkenlerimizi ardarda ekleyerek yeni bir array değişkeni elde edersiniz.

$degisken_1 = array(1,2,3,4,5);
$degisken_2 = array(6,7,8,9,10);
$son_degisken = array_merge($degisken_1, $degisken_2);
var_dump($son_degisken);
array(10) { [0]=> int(1) [1]=> int(2) [2]=> int(3) [3]=> int(4) [4]=> int(5) [5]=> int(6) [6]=> int(7) [7]=> int(8) [8]=> int(9) [9]=> int(10) }

Array Sıralama işlemleri

Array değişkenlerimizi sıralamak isteyebilirsiniz. Aşağıda ufak bir örnek verdim.

  • sort() - dizileri artan düzende sırala
  • rsort() - dizileri azalan düzende sırala
  • asort() - ilişkisel dizileri değere göre artan düzende sıralar
  • ksort() - ilişkilendirilebilir dizileri anahtara göre artan düzende sırala
  • arsort() - ilişkisel dizileri değere göre azalan düzende sıralar
  • krsort() - ilişkilendirilebilir dizileri anahtara göre azalan düzende sıralayın
$sayisal_degisken = array(1,2,3,4,5,6,7,8,9,10);
sort($sayisal_degisken);
var_dump($sayisal_degisken);

--

--

tolga taşçı
tolga taşçı

Written by tolga taşçı

0 Followers

Her zaman öğrenmek!

No responses yet