Jump to content
Son zamanlarda artan kullanıcı hesap hırsızlıkları sebebiyle tüm kullanıcılara şifre sıfırlama maili gönderilmiştir. Lütfen güveli şifreler seçiniz. Mevcut e-mail adresinize erişemiyorsanız, en aşağıdaki destek linkinden bize ulaşınız. ×

Php For Döngüsü Nerede Hata Var?


Recommended Posts

Arkadaşlar nerede hata var?

[code]<?php
$iller = array (
'Ankara',
'Bursa',
'İstanbul',
'Kayseri',
'Malatya'
);
$say = count($iller);
for ($x=0; $x<=$say; $x++) {
echo $iller[$x]."<br>";
}
?>
[/code]

[img]http://i52.tinypic.com/312tret.png[/img] Edited by Abdullah 37
Link to comment
Share on other sites

Abdullah php olayınada girdin demek :)
Şimdi ben sana ayrıntılı olarak açıklamaya çalışayım.
iller dizisinde 5 eleman var. Dizi index numarası 0 dan başlayarak devam ediyor 0,1,2,3,4 şeklinde. Bu dizinin indeksli halini yazmak gerekirse

[codebox]$iller = array(
0 => 'Ankara',

1 => 'Bursa',

2 => 'İstanbul',

3 => 'Kayseri',

4 => 'Malatya'
);[/codebox]

Sen count() fonksiyonu ile iller dizisinin eleman sayısı aldın buda sana 5 değerini verdi.
For döngüsünde bir x değişkeni oluşturdun bu x iller dizisinin 5. elemanına ulaşana kadar 1 artacak. Ama dikkat edersen bizim iller dizisinin son elemanı 4. eleman sen 5. elemana ulaşmaya çalışıyorsun :) iller dizisinin 5. elemanı olmadığından hata alıyorsun.
Ozaman for döngün bu şekilde olacak:

[codebox]for($x=0; $x<$say; $x++) {
echo $iller[$x]."<br>";
}[/codebox]

$x<=$say yerine $x<$say yazman gerekiyor. yani x 0 dan başlayacak ve 4 olana kadar artacak 5 olmayacak.
[codebox]
<= (küçük veya eşitse) küçük olduğu sürece veya eşit olana kadar artır
< (küçükse) küçük olduğu sürece artır
[/codebox]

Ayrıca dizileri yazdırmak için for döngüsü yerine foreach kullanırsan daha iyi olur.
[codebox]foreach($iller as $il) {
echo $il.'<br />';
}[/codebox]

Edited by carysma1
Link to comment
Share on other sites

[quote name='carysma1' date='07 April 2011 - 18:33 ' timestamp='1302194000' post='989276']
Ozaman for döngün bu şekilde olacak:[

[codebox]for($x=0; $x<$say; $x++) {
echo $iller[$x]."<br>";
}[/codebox][/quote]

Hocam senin verdiğin for döngüsü kodu ile benimki aynı bir değişiklik yok :)
[code] for ($x=0; $x<=$say; $x++) {
echo $iller[$x]."<br>";
}[/code]

Edited by Abdullah 37
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share

  • Recently Browsing   0 members

    No registered users viewing this page.

×
×
  • Create New...