|
DİZİLER ÜZERİNDE YAPILAN İŞLEMLER
Dizi Birleştirme
Dizileri birleştirme işlemi array_merge() fonksiyonu ile yapılır.
|
<?php
$ogrenciler=array(
array(adi=>”Burhan”,soyadi=>”Altıntop”,not=>”"),
array(adi=>”Aslı”,soyadi=>”Sütçüoğlu”,not=>”"),
array(adi=>”Tahir”,soyadi=>”Mutlu”,not=>”"),
array(adi=>”Şahika”, soyadi=>”Kocatepe”,not=>”"),
);
$ogrenciler2=array(
array(adi=>”Burhan”,soyadi=>”Altıntop”,not=>”"),
array(adi=>”Aslı”,soyadi=>”Sütçüoğlu”,not=>”"),
array(adi=>”Tahir”,soyadi=>”Mutlu”,not=>”"),
array(adi=>”Şahika”, soyadi=>”Kocatepe”,not=>”"),
);
$yenidizi=array_merge($ogrenciler,$ogrenciler2);
print(”<br><br>”);
foreach($yenidizi as $ogrenci)
{
foreach($ogrenci as $anahtar=>$deger)
{
print(”$anahtar=$deger<br>”);
}
print(”<br>”);
}
?>
|
Sayfa açıldığında ekranda şöyle bir görüntü olacaktır:

Görüldüğü gibi içeriği birbirinin aynı olan iki dizi arka arkaya eklenmiş durumda. Burada 2 adet çok boyutlu dizi tanımlandıktan sonra, array_merge() fonksiyonunda diziler birleştiriliyor. İç içe foreach fonksiyonları ile de oluşan yeni dizinin içeriği ekrana gönderiliyor.
Dizilere Değişken Ekleme-Silme
Dizilere değişken eklemek için array_push() fonksiyonu, ilk elemanını silmek için ise array_shift() fonksiyonunu kullanırız.
|
<?php
$ogrenciler=array(”pelin”,”tuba”,”pınar”,”esra”);
$yenidizi=array_push($ogrenciler,”kübra”,”nurdan”,”gulsen”,”nezahat”);
print(”<br><br><br>”);
foreach($ogrenciler as $ogrenci)
{
print(”$ogrenci<br>”);
}
$silinen=array_shift($ogrenciler);
print(”<br><br><br>Silinen: $silinen”);
?>
|
Sayfa açıldığında ekranda şöyle bir görüntü olacaktır:

Örnekte görüldüğü gibi $ogrenciler dizisine array_push() fonksiyonu ile yeni elemanlar ekledik. Dizinin son halini ekrana yazdırdıktan sonra array_shift() fonksiyonu ile dizinin ilk elemanını sildik ve silinen elemanın aktarıldığı değişkenin içeriğini ekrana yazdırdık.
Dizilerin İçeriğini Sıralama
İlişkili olmayan dizilerde sort() ve rsort(), ilişkili dizilerde ise asort() ve ksort() fonsiyonları kullanılır.
Örnek 1:
|
<?php
print(”<b><h1>Müzik aletleri</h1></b>”);
$ogrenciler=array(”keman”,”gitar”,”piyano”,”bağlama”);
foreach($ogrenciler as $ogrenci)
{
print(”$ogrenci<br>”);
}
sort($ogrenciler); // Dizinin elemanlarını A’dan Z’ye sıralar.
print(”<b><i><h3>A’dan Z’ye yeni sıra:</h3></i></b>”);
foreach($ogrenciler as $ogrenci)
{
print(”$ogrenci<br>”);
}
rsort($ogrenciler); // Dizinin elemanlarını Z’dan A’ye sıralar.
print(”<b><i><h3>Z’dan A’ye yeni sıra:</h3></i></b>”);
foreach($ogrenciler as $ogrenci)
{
print(”$ogrenci<br>”);
}
?>
|
Sayfayı açtığımızda ekranda şöyle bir görüntü olacaktır:

Örnek 2:
|
<?php
$ogr=array(adi_01=>”Pınar”,adi_02=>”Özkadir”,adi_03=>”Mutlu”);
ksort($ogr); // Dizinin elemanlarını anahtarlara göre sıralar.
print(”<b><i>Anahtarlara göre:</i></b><br>”);
foreach($ogr as $anahtar=>$deger)
{
print(”$anahtar=$deger<br>”);
}
print(”<br><b><i>Harf sırasına göre A’dan Z’ye:</i></b><br>”);
asort($ogr); // Dizinin elemanlarını harf sırasına göre A’dan Z’ye sıralar.
foreach($ogr as $a)
{
print(”$a<br>”);
}
?>
|
Sayfayı açtığımızda ekranda şöyle bir görüntü olacaktır:

Diziden Kesit Alma
Diziden kesit almak, array_slice() fonksiyonu ile mümkündür.
|
<?php
$ogr=array(”pelin”,”tuba”,”pınar”,”esra”,”kübra”,”nurdan”,”gulsen”,”nezahat”);
print(”<b>Tüm elemanlar:</b><br>”);
foreach($ogr as $deg)
{
print(”$deg<br>”);
}
print(”<br><b>2 indisli 3. elemandan sonra 4 adet elemana kadar olan kesit:</b><br>”);
// Hatırlatma: Dizilerde elemanların indisleri 0’dan başlar.
$kesit=array_slice($ogr,2,4);
foreach($kesit as $degisken)
{
print(”$degisken<br>”);
}
?>
|
Sayfayı açtığımızda ekranda şöyle bir görüntü olacaktır:
Dizilerin elemanlarının endeks numarası 0’dan başlar. $kesit=array_slice($ogr,2,4); kod satırında $ogr dizisinin elemanlarının endeks numaraları 0’dan 2’ye kadar sayılır ve 3. olan elemandan sonraki 4 adet eleman kopyalanır ve $kesit değişkenine aktarılır. Yani $ogr dizisinin içeriği değişmez.
|