What Will I Learn?
- Inner Bark and Multi-Dimensional Arrays
- Obtaining Inner Bore Array Elements by Loop
Requirements
- php server / host
Difficulty
- Basic
Türkçe
İç İçe ve Çok Boyutlu Diziler
Birden fazla diziyi bir arada gösterebiliriz. Bir dizi içine, birden fazla diziyi birbirlerinden virgüllerle ayırarak gösterebiliriz. Buna iç içe dizi yapısı, diğer bir deyişle çok boyutlu dizi denir.
<!DOCTYPE html>
<html>
<body>
<head>
<title> Diziler </title>
<meta charset="utf-8" />
</head>
<body>
<?php
$sepet=array(
array("Portakal","Nar"),
array("Su","Meyve Suyu")
);
echo ''
;
print_r($sepet);
echo '';
?>
<br />Dizinin elemanlarını aşağıdaki gibi elde edebiliriz.<br />
<?php
echo $sepet[0][0]; // Portakal yazacaktır.
echo ''; echo $sepet[0][1]; // Nar yazacaktır. echo '
'; echo $sepet[1][0]; // Su yazacaktır. echo '
'; echo $sepet[1][1]; // Meyve Suyu yazacaktır. ?> </body> </html>
Bir dizinin içindeki diziler, aynen bir dizinin eleman gibi olurlar. Dizinin içindeki her bir dizi dizinin bir elemanıdır. Yani birinci dizinin sırası 0, ikinci dizinin 1 olacaktır. print_r() fonksiyonu ile bunu rahatlıkla görebiliriz.
Yukarıdaki bilgilere göre çok boyutlu dizinin elemanlarını elde etmek için köşeli parantez içine ana dizinin eleman sırasını, sonra içteki dizinin eleman sırasını yazmamız gerekir. Dizilerin elemanları aksi belirtilmedikçe 0 dan başlar.
Çok boyutlu dizileri ilişkili diziler gibi birbirlerinden virgüllerle ayrılmış çok sayıda anahtar => dizi yaratarak oluşturabiliriz.
<!DOCTYPE html>
<html>
<body>
<head>
<title> Diziler </title>
<meta charset="utf-8" />
</head>
<body>
<?php
$sepet=array(
"meyve"=>array("Portakal","Nar"),
"icecek"=>array("Su","Meyve Suyu")
);
echo ''
;
print_r($sepet);
echo '';
?>
<br />Dizinin elemanlarını aşağıdaki gibi elde edebiliriz.<br />
<?php
echo $sepet["meyve"][0]; // Portakal yazacaktır.
echo ''; echo $sepet["meyve"][1]; // Nar yazacaktır. echo '
'; echo $sepet["icecek"][0]; // Su yazacaktır. echo '
'; echo $sepet["icecek"][1]; // Meyve Suyu yazacaktır. ?> </body> </html>
Köşeli parantez içine anahtar adları yazarak çok boyutlu dizileri elde edebilir veya mevcut diziye yeni diziler eldeyebiliriz.
<!DOCTYPE html>
<html>
<body>
<head>
<title> Diziler </title>
<meta charset="utf-8" />
</head>
<body>
<?php
$dizi['id'] = array(1,2,3);
$dizi['ad'] = array("Ece", "Gül", "Can");
$dizi['not'] = array(56,77,90);
echo ''
;
print_r($dizi);
echo '';
?>
</body>
</html>
Döngü ile İç İçe Dizi Elemanlarını Elde Etme
for() döngüsü ile dizi elemanlarını elde etme
<!DOCTYPE html>
<html>
<body>
<head>
<title> Diziler </title>
<meta charset="utf-8" />
</head>
<body>
<h1>Üyeler</h1>
<?php
$uyeler = array(
array('ad' => 'Hasan Kamak', 'email' => 'Hasan@ornek.com'),
array('ad' => 'Efe Gezer', 'email' => 'Efe@ornek.com'),
array('ad' => 'Erkan Bulut', 'email' => 'Erkan@ornek.com'),
array('ad' => 'Cengiz Arık', 'email' => 'Cengiz@ornek.com')
);
?>
<ul>
<?php for($i=0, $size=count($uyeler); $i < $size; $i++) { ?>
<li><?php echo $uyeler[$i]['ad']; ?><br />
<?php echo $uyeler[$i]['email']; ?></li>
<?php } ?>
</ul>
</body>
</html>
foreach() döngüsü ile dizi elemanı elde etme
<!DOCTYPE html>
<html>
<body>
<head>
<title> Diziler </title>
<meta charset="utf-8" />
</head>
<body>
<h1>Üyeler</h1>
<?php
$uyeler = array(
array('ad' => 'Hasan Kamak', 'email' => 'Hasan@ornek.com'),
array('ad' => 'Efe Gezer', 'email' => 'Efe@ornek.com'),
array('ad' => 'Erkan Bulut', 'email' => 'Erkan@ornek.com'),
array('ad' => 'Cengiz Arık', 'email' => 'Cengiz@ornek.com')
);
?>
<ul>
<?php
foreach($uyeler as $anahtar => $deger) {
?>
<li><?php echo $deger['ad']; ?><br />
<?php echo $deger['email']; ?></li>
<?php
}
?>
</ul>
</body>
</html>
while() döngüsü ile dizi elemanlarını elde etme
<!DOCTYPE html>
<html>
<body>
<head>
<title> Diziler </title>
<meta charset="utf-8" />
</head>
<body>
<h1>Üyeler</h1>
<?php
$uyeler = array(
array('ad' => 'Hasan Kamak', 'email' => 'Hasan@ornek.com'),
array('ad' => 'Efe Gezer', 'email' => 'Efe@ornek.com'),
array('ad' => 'Erkan Bulut', 'email' => 'Erkan@ornek.com'),
array('ad' => 'Cengiz Arık', 'email' => 'Cengiz@ornek.com')
);
?>
<ul>
<?php
while(list($anahtar,$deger) = each($uyeler)){
?>
<li><?php echo $deger['ad']; ?><br />
<?php echo $deger['email']; ?></li>
<?php
}
?>
</ul>
</body>
</html>
Posted on Utopian.io - Rewarding Open Source Contributors