Php Notları 4: Dizi Değişkenler

Bir program yazılırken, bazı durumlarda çok sayıda değişkene ihtiyaç duyulur. Çoğunlukla bu değişkenlerin sıra bilgisine de ihtiyaç duyulur. Bu tip durumlarda dizi değişkenler kullanılır. Dizi değişkenler, bir isim altında birden fazla değişken kullanabilmeği sağlar. Aynı isimdeki bu değişkenleri birbirinden ayırt edebilmek için indis adı verilen sıra numarası kullanılır.

Başka diziler toplayan dizilere çok boyutlu dizi adı verilir.

Php birleşik dizileri(associative arrays) de destekler. Birleşik diziler indis olarak sayısal değerler yerine daha kullanılışlı başka değerleri de kullanmaya izin verir. Böylece her elemanın sayısal bir indisi olması yerine indiste sözcükler veya başka bilgiler kullanılabilir.

Örnek: Php’de dizi oluşturma

<html>
<head>
  <title>Php'de diziler</title>
  <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-9">
</head>
<body>
<?php
  $sebzeler=array('domates', 'biber', 'su kabağı');
  echo "$sebzeler[0]<br>";
  echo "$sebzeler[1]<br>";
  echo "$sebzeler[2]";
?>
</body>
</html>

Yukarıdaki örnekten de anlaşılacağı gibi, varsayılan olarak dizinin ilk elemanı dizinin sıfırıncı elemanı olarak kabul edilmektedir.

Dizideki elemanlara ulaşmak için özel olarak tasarlanan foreach döngü yapısı kullanılabilir.

<html>
<head>
  <title>Php'de diziler</title>
  <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-9">
</head>
<body>
<?php
  $sebzeler=array('domates', 'biber', 'su kabağı');
  foreach ($sebzeler as $eleman)
    echo "$eleman<br>";
?>
</body>
</html>

Dizi oluşturmak için aşağıdaki yapı da kullanılabilir:

<html>
<head>
  <title>Php Örnekleri</title>
</head>
<body>
<?php
  $gunler[0]="Pazartesi";
  $gunler[1]="Salı";
  $gunler[2]="Çarşamba";
  $gunler[3]="Perşembe";
  $gunler[4]="Cuma";
  $gunler[5]="Cumartesi";
  $gunler[6]="Pazar";
  echo "$gunler[0]<br>";
  echo "$gunler[1]<br>";
  echo "$gunler[2]<br>";
  echo "$gunler[3]<br>";
  echo "$gunler[4]<br>";
  echo "$gunler[5]<br>";
  echo "$gunler[6]<br>";
?>
</body>
</html>

İndis olarak sayı kullanmayan birleşik diziler Php’de aşağıdaki gibi oluşturulur.

<html>
<head>
  <title>Php'de diziler</title>
  <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-9">
</head>
<body>
<?php
  $fiyatlar=array('domates'=>10, 'biber'=>20, 'su kabağı'=>30);
  echo $fiyatlar['domates']; echo '<br>';
  echo $fiyatlar['biber']; echo '<br>';
  echo $fiyatlar['su kabağı']; 
?>
</body>
</html>

Bu tip dizilerdeki elemanlara ulaşmak için aşağıdaki döngü yapısı kullanılır:

<html>
<head>
  <title>Php'de diziler</title>
  <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-9">
</head>
<body>
<?php
  $fiyatlar=array('domates'=>10, 'biber'=>20, 'su kabağı'=>30);
  foreach ($fiyatlar as $anahtar=>$deger)
    echo 'Anahtar: '.$anahtar.' Değeri: '.$deger.'<br>';
?>
</body>

Php’de aşağıdaki tabloda yer alan bilgileri saklayabilmek için iki boyutlu dizi de oluşturulabilir.

Yukarıdaki tablodaki bilgileri bir dizide saklayabilmek için Php’de aşağıdaki kod kullanılır.

<html>
<head>
  <title>Php'de diziler</title>
  <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-9">
</head>
<body>
<?php
  $sebzeler=array(array('DOM', 'domates', 10),
                  array('BIB', 'biber', 20),
                  array('SUB', 'su kabağı', 30));
  echo '|'.$sebzeler[0][0].'|'.$sebzeler[0][1].'|'.$sebzeler[0][2].'|<br>';
  echo '|'.$sebzeler[1][0].'|'.$sebzeler[1][1].'|'.$sebzeler[1][2].'|<br>';
  echo '|'.$sebzeler[2][0].'|'.$sebzeler[2][1].'|'.$sebzeler[2][2].'|<br>';
?>
</body>
</html>

Bu dizideki her elemana ulaşabilmek için aşağıdaki yapı kullanılır.

html>
<head>
  <title>Php'de diziler</title>
  <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-9">
</head>
<body>
<?php
  $sebzeler=array(array('DOM', 'domates', 10),
                  array('BIB', 'biber', 20),
                  array('SUB', 'su kabağı', 30));
  for ($i=0; $i<=2; $i++)
  {
    for ($j=0; $j<=2; $j++)
      echo '|'.$sebzeler[$i][$j];
    echo '|<br>';
  }
</body>
</html>

08.01.2017 11:10:53

Yorumlar

Bu yazıya henüz yorum yapılmamış.

Yazı hakkında yorum yapmak için, buraya tıklayın.

Kategoriler :

Arşiv :

Etiketler :

Bağlantılar :