Diziye eklenen yeni elemanlarin index degerini bulmak icin next () ve prev () fonksiyonlarini kullanabilirsiniz.Bu fonksiyonlar dizi boyunca elementler arasinda dolasmanizi saglarlar.(These functions allow you to navigate through arrays,by moving the pointer to the next or previous element in the array).Bu iki fonksiyonda,argument olarak dizi ismini alirlar.Yani hangi fonksiyonun elementleri arasinda gezinmek istiyorsaniz fonksiyonu,o dizinin adini vererek kullanmalisiniz.
Simdi bir onceki konuda yarattigimiz diziyi ele alalim ve bu fonksiyonlari uygulamali olarak gorelim,
$Yonetmen[4]="Yilmaz Guney";
$Yonetmen[1]="Clint Eastwood";
$Yonetmen[93]="Steven Spielberg";
$Yonetmen[24]="Al Pacino";
$Yonetmen[] = "Mel Gibson";
next () fonksiyonunu, current elementimizin,
Asagida YORUM ile belirtilmis yerlerin tamami yazara aittir ve dogrulugu konusunda garanti verilemez.Yanlizca konunun daha iyi anlasilmasi icin okuyabilirsiniz.Eger olayi anladiysaniz yaziya kaldiginiz yerden yorumlari okumadan devam ediniz.
—>YORUM : (yani yukaridaki dizide gordugunuz gibi dizinin ilk elementi.Bu ilk element 4 numarasiyla indexlenmis ve icerigi de Yilmaz Guney.Simdi dizideki islemleri gozunuzun onunde canlandirmak isterseniz bir kaset calar dusunun o sirada calmaya hazir sarki tabii ki kasedin ilk sarkisidir.Eger biz kasedi kullanir ve birinci sarkiyi dinlersek artik bir sonraki sarki calmaya hazirdir degilmi.Iste burada bahsedilen current element bizim o nda kullanilmaya hazir olan dizi elementimizdir. Guzel bir yaklasim simdi aklima geldigi icin yaziyorum.Biraz olsun sizi current'dan next'ten kurtarip olayi anlatabildiysem ne alaaa anlamadiysaniz lutfen mail atin )
ne oldugunu kontrol etmeden kullanalim ve sonuca bakalim,
—>YORUM : (dizi su anda hic kullanilmadigi icin ilk sarkimiz calmaya hazir.Yani dizinin ilk elementi current element.Eger bir dongu icerisinde islem gerceklistiriyor olsaydik ve dizinin elemanlari birer birer kullaniliyor olsaydi,islemin belirli asamlarinda dizinin hangi index numarali elementi current olacakti veya gercekten o asamada sizin istediginiz element mi kullaniliyor.Tum bu islemler icin dogal olarak iste burada verilen komutlari kullaniyoruz.)
next ($Yonetmen);
$IndexDegeri = key($Yonetmen);
echo ($IndexDegeri);
Bu kucuk programimizin ciktisi "1" olacaktir.Cunku next fonksiyonu cagrilmadan once current elementin index degeri "4" tu.Yani dizinin ilk elemaniydi.Biz next ($Yonetmen); diyerek dizi icerisindeki bir sonraki elementi kullanima hazir hale getirdik.Sonrasinda $IndexDegeri degiskeni icerisnde key($Yonetmen) fonksiyonu ile verdigimiz degerin saklanmasini sagladik.echo ($IndexDegeri) komutu ile de ekrana yazdirdik.
next ($Yonetmen);
next ($Yonetmen);
next ($Yonetmen);
next ($Yonetmen);
$IndexDegeri = key($Yonetmen);
echo ($IndexDegeri);
Gordugunuz gibi fonksiyonu uc defa daha kullandim simdi artik echo komutu ile ekrandan alacagimiz cikti "94" olacaktir.Eger bu index numarali elemnetin icerigini ekranda yazdirmak isteseydik,
$GecerliIcerik = current ($Yonetmen);
echo ($GecerliIcerik);
"Mel Gibson" ciktisini alacaktik.
prev () fonksiyonun kullanimida tamamen yukaridaki ile aynidir.Bu fonksiyonla dizi icerindeki elementler arasinda "geriye" dogru gezinmemizi sagliyoruz.
next ($Yonetmen);
next ($Yonetmen);
next ($Yonetmen);
next ($Yonetmen);
prev ($Yonetmen);
$IndexDegeri = key($Yonetmen);
echo ($IndexDegeri);
Kod grubunun ciktisi "24" olacaktir.Dizi icerisinde once dort element ileriye dogru gidip o elementin "current" olmasini sagladik.Sonra prev ($Yonetmen); satiri ile dizi icerisinde bir element geriye gittik.Diger satirlarda ise iste o elementin "index" degerini ekrana yazdirdik.
Simdi burada bir konuyu belirtelim.Eger dizimiz icerisnde mesela ikinci "next" satirinda dizimizin sonuna gelmis olsaydik ne olacakti.Ondan sonraki kodlar hata uyarisi verecekmiydi?Bu sorunun cevabi kesinlikle HAYIR'dir.Boyle bir durumda hic bir sey olmayacakti.Kodumuz hic bir hata vermeyecegi gibi hic bir degerde dondurmeyecekti.Yeterince centilmence degilmi
Baska programlama dillerinde bu durumdaki bir program mutlak hata dondurur.PHP ile calismak icin iste size bir baska neden.Gercekten de mukkemmel bir programlama dili.
prev ($Yonetmen);
next ($Yonetmen);
next ($Yonetmen);
$IndexDegeri = key($Yonetmen);
echo ($IndexDegeri);
Kod grubuda ayni sekilde hata dondurmeyecektir.Gordugunuz gibi daha dizinin basinda dizideki elementi bir geriye almak istedik.
kaynak: ordan burdan


