Bu konu aslında uzun bir konu. Ancak şimdilik konuyu fazla uzatmayacam.
Değişkenler için PHP’nin olmazsa olmazları demiştim. Değişkenleri bilmiyorsanız, onların kullanımını bilmiyorsanız bu iş olmaz. Diziler içinde şunu söyleyeyim. Dizileri bilmiyorsanız birçok kolaylığı bilmiyorsunuz demektir.
ÖNEMLİ: Sayı sayma işlemleri 1 den değil 0 dan başlar. Bunu unutmayın.
Dizi (array) nedir? Bir değişkene teorik olarak sınırsız sayıda veri yüklememize yarayan bir fonksiyondur. Basit olarak; bir veritabanındaki verileri listelemek için her bir veri için değişken tanımlama zorunluluğunu ortadan kaldırır.
Dizi tanımlamak için bir değişken adı yazarız ve sonuna köşeli parantez (süslü parantezde olabilir) kullanırız.
$degisken[]="Selam";
$degisken[]="Millet Bu Dersimizde";
$degisken[]="Dizileri işliyoruz";
Şimdi $degisken adlı değişkene 3 tane veri girdik. Bu değişken [] işaretleri nedeniyle dizi oldu. Şimdi bunu ekrana yazdırmaya çalışalım.
Kod:
$degisken[]="Selam";
$degisken[]="Millet Bu Dersimizde";
$degisken[]="Dizileri işliyoruz";
echo $değisken[];
Eeee yazmadı. Boş bi sayfada Array diye bir şey gösterdi. Demek ki bu şekilde gösteremiyoruz. Kodu şu hale getirelim.
Kod:
$degisken[]="Selam";
$degisken[]="Millet Bu Dersimizde";
$degisken[]="Dizileri işliyoruz";
print_r($değisken);
Bu şekle getirince de içerisini olduğu gibi gösterdi. Biz dizi tanımlayarak aslında ne şekle soktuğumuz görülüyor. (print_r fonksiyonu dizi içini görmemizi sağlar)
Bakın gördünüz mü? Dizilerde bir sıra var. Bu sıra 0 dan başlıyor. Bizim aslında oluşturduğumuz şekil buymuş. Peki bütün içeriği ekrana bu şekilde gösterdik. Bu şekilde gösterim tabii ki yapmak istemeyiz. İstediğimiz sıradaki içeriği nasıl gösteririz?
Kod:
$degisken[]="Selam";
$degisken[]="Millet Bu Dersimizde";
$degisken[]="Dizileri işliyoruz";
echo $degisken[0];
Gördüğünüz üzere ilk değeri gösterttik. Ekrana “Selam" çıkacak. Kodda yer alan 0 (sıfır) sıra numarasını işaret eder. Verdiğim ilk örnekte sıra numarasını biz oluşturmadık. İstersek bizde sıra numarası tanımlayabiliriz.
Kod:
$degisken[‘a’]="Selam";
$degisken[‘b’]="Millet Bu Dersimizde";
$degisken[‘c’]="Dizileri işliyoruz";
echo $degisken[’c’];
Burada diziye sıra numarasını biz verdik. Biraz daha karmaşıklaştıralım.
Kod:
$degisken[‘a’][1]="Selam";
$degisken[‘a’][2]="Millet Bu Dersimizde";
$degisken[‘a’][3]="Dizileri işliyoruz";
echo $degisken[’a’][3];
Evet bu şekilde iç içe iki dizi kullanmış olduk. Bu konuda fazla durmadan ilerliyorum. Dizileri hep bu şekilde mi tanımlamak zorundayız? Elbette hayır. Şimdi asıl yönteme yani array kullanımına geçiyoruz.
Bu durumda ekrana;
Array ( [0] => Selam [1] => Millet [2] => Netopsiyon )
şekli çıkardı. Sizlere tavsiyem sıra bilgisi vermeyi unutmayın. Yoksa ekrana yazdırma işlemlerinde bayağı ter dökersiniz. Şimdi biraz daha zorlaştırayım.
$dizi=array(“a","b","c","d",1,3,4);
foreach ($dizi as $veriler) {
echo “$veriler -";
}
Bu şekilde karşımıza;
a -b -c -d -1 -3 -4- sonu çıkacaktır.
Şimdi for ve while döngülerini kullanarak aynı diziyi ekrana yazdıralım.
Kod:
$dizi=array("a","b","c","d",1,3,4);
for ($i=0;$i<count($dizi);$i++) {
echo "$dizi[$i] -";
}
Birde aynı işlemi while ile yapıyoruz.
Kod:
$dizi=array("a","b","c","d",1,3,4);
$i=0;
while ($i<count($dizi)) {
echo "$dizi[$i] -";
$i++;
}
Gösterim değişmedi. Aynı şekilde gösterdi. Yalnız fazladan count kullanarak dizi içeriğinde kaç veri var onu saydık ve $dizi[$i] ile ekranda göstermeye çalıştık.
Kayıt: Jan 07, 2006 Mesajlar: 1719 Konum: İstanbuL //
Tarih: 2007-08-09, 14:07:00 Mesaj konusu:
türkekip,boş gelir çünkü array $sayilar değişkeninde echo $sayi[1] demişsin.yani boş sayfa.$sayi $sayilar olsaydı iki gelirdi çünkü diziler 0 "sıfır"dan başlıyordu :)
Hocam çift tırnaktan teke düşürmüşsün fakat değişen bişey yok eksik olan bence sadece $aylardan sonra [1] gibi bir sıra olabilir.Bu şekilde yaparak sıralamayı 0 dan değil de 1 den başlatmışsın..
Kayıt: Jul 20, 2002 Mesajlar: 3836 Konum: Balıkesir
Tarih: 2007-08-10, 16:32:02 Mesaj konusu:
Evet başka örnek yapmaya çalışan yok mu? Bu konuda sorulacak pek bir soru yok. Dizi oluşturup içeriği gösterecek örnekler hazırlayabilirsiniz.
Bir sonraki dersimiz son ön bilgi niteliğinde. Fonksiyonları ve include komutunu anlatıyorum. Sonrasında form işlemleri ile gerçek uygulamalara doğrudan giriş var ve geri dönüş yok
Valla hakikat bey gibi bu işin uzmanlarını yakalamışken sorabildiğiniz kadar sorun.... Tabiki Ali Osman Bey ve diğer netopsiyon ekibi üyelerini...Bizede öğrenmek için çaba göstermek kalıyor. emeği geçen bilgi ve deneyimlerini bizimle paylaşan herkese teşekkür ederim...
Kayıt: Jul 20, 2002 Mesajlar: 3836 Konum: Balıkesir
Tarih: 2007-08-26, 15:25:43 Mesaj konusu:
foreach kulllanımı konusunda bir soru da buraya.
$kelime adında bir değişkenimiz var. Bu değişkenin değeri Netopsiyon. Sizden istediğim şu. Bu değişkenin içeriğini her harf alt alta olacak şekilde foreach ile göstertin.
Başlangıcı ben yazayım. foreach a siz sokun.
Kod:
$kelime="Netopsiyon";
$bol=str_split($kelime);
//foreach buraya girecek.
Kayıt: Jul 20, 2002 Mesajlar: 3836 Konum: Balıkesir
Tarih: 2007-08-27, 10:15:32 Mesaj konusu:
str_split PHP-5 ile hayatımıza giren bir fonksiyon. Localdeki php sürümün PHP4 ile çalışmayacaktır. Yıl sonunda PHP4 desteği sona ereceğinden yavaş yavaş sizi PHP5 e de alıştırmam lazım.
tek satırla işlem yapacaksınız { } kullanmayabilirsiniz
; aralarında boşluk bırakma mecburi değil birde
ram geçiçi hafıza ya yani boşa $say= diye bir değişken bellekte tutturmaya gerek yok :) turk-php için yazmadım bunları yeni öğrenenler için püfler bir scriptte 30 for kullanacağınızı düşünürseniz genelde 1 satırlık işlemlerse veya çok satır olabilir şöyle
echo"xxx"
."asdasd"
."asdasd".
"cxcxc";
gibi ...
Bu forumda yeni başlıklar açamazsınız Bu forumdaki başlıklara cevap veremezsiniz Bu forumdaki mesajlarınızı değiştiremezsiniz Bu forumdaki mesajlarınızı silemezsiniz Bu forumdaki anketlerde oy kullanamazsınız