foreach ile dosyayı satır satır okurken,  satır sonlarındaki satır bitiş
karakterlerini de okuyorsunuz (\n,\r\n).
Dolayısıyla okuduğunuz değer mesela   3 değil, 3\n.
Bunları ya trim ile temizlemelisiniz ya da dosyayı okurken regexp'inizi buna
göre yazmalısınız.

09 Mayıs 2009 Cumartesi 19:51 tarihinde Bedreddin SAHBAZ <
[email protected]> yazdı:

> Şimdi bir şey denedim. Dosyadaki sayıların bir kısmını array ile girip
> foreach ile çekince kodlarım düzgün çalışıyor ama bu verileri txt
> dosyasına atıp ordan çağırınca olmuyor. txt dosyasından nümerik değer
> okumanın bir püf noktası mı var acaba? Sanki çektiğim tüm veri string gibi
> değerlendiriliyor gibi geldi bana?
>
> Saygılarımla..
>
> > if (!ereg("^[0-9]+$",$satir))
> >
> > bu kısım istediğim gibi çalışmamakta. Normalde yapmak istediğim içinde
> > sadece numara olan satırları yazdırmamak, satırdaki değerde nümerik
> > değerden farklı bir değer varsa (harf mesela) o satırı yazdırmak
> > istiyorum.
> >
> > Saygılarımla..
> >
> >
> >> Merhabalar,
> >>
> >> Düzenlediğiniz kod da aynı şekilde tüm txt dosyasını yazdırıyor. Ben
> >> sadece düzenli ifade ile belirttiğim uygunsuz satırları görmek
> >> istiyorum.
> >> Neden olmuyor acaba?
> >>
> >> Saygılarımla..
> >>
> >>> <?
> >>> $dosya = "barkod.txt";
> >>> $icerik = @file($dosya);
> >>> if (!$icerik) {
> >>>    echo "Dosya açılamadı.";
> >>> } else {
> >>>    foreach ($icerik as $satir) {
> >>>       if (!ereg("^[0-9]+$",$satir)) {
> >>>         echo $satir . "<br>\n";
> >>>       } else {
> >>>         echo $satir . ' - Bulunamadı <br />';
> >>>       }
> >>>    }
> >>> }
> >>> ?>
> >>>
> >>> Å&#65533;eklinde denerseniz sıkıntınızın nerede olduÄ&#65533;unu
> >> anlaya bilirsiniz.
> >>>
> >>> 2009/5/9 Bedreddin SAHBAZ <[email protected]>
> >>>
> >>>> Merhabalar,
> >>>>
> >>>> Yapmak istediÄ&#65533;im Å&#65533;ey basit ancak bir türlü
> >> mantıÄ&#65533;ı çözemedim.
> >>>> Bir txt
> >>>> dosyasından verileri satır satır okuyarak belli kritere
> >>>> uymayanları
> >>>> ekrana
> >>>> yazdırmak istiyorum. Bunun için Å&#65533;öyle bir kod yazmayı
> >>>> denedim;
> >>>>
> >>>> <?
> >>>> $dosya = "barkod.txt";
> >>>> $icerik = @file($dosya);
> >>>> if (!$icerik)
> >>>> echo "Dosya açılamadı.";
> >>>> else
> >>>> {
> >>>> foreach ($icerik as $satir)
> >>>> if (!ereg("^[0-9]+$",$satir))
> >>>> {
> >>>> echo $satir . "<br>\n";
> >>>> }
> >>>> }
> >>>> ?>
> >>>>
> >>>> Bu Å&#65533;ekilde kodu çalıÅ&#65533;tırınca barkod.txt
> >> dosyasındaki tüm
> >>>> kayıtları vermeye
> >>>> devam ediyor. Ben istiyorum ki içinde harf olan satırları göreyim
> >>>> sadece.
> >>>> foreach'in kullanımı ile ilgili bir hata yapıyorum sanırım. Belki
> >>>> de çok
> >>>> basittir. Listeyi gereksiz meÅ&#65533;gul ettimse özür dilerim.
> >>>>
> >>>> Saygılarımla..
> >>>>
> >>>> _______________________________________________
> >>>> Linux-programlama mailing list
> >>>> [email protected]
> >>>> http://liste.linux.org.tr/mailman/listinfo/linux-programlama
> >>>>
> >>>
> >>>
> >>>
> >>> --
> >>> Elvin Å&#65533;iriyev
> >>> http://elvin.siriyev.net
> >>> _______________________________________________
> >>> Linux-programlama mailing list
> >>> [email protected]
> >>> http://liste.linux.org.tr/mailman/listinfo/linux-programlama
> >>>
> >>
> >>
> >> _______________________________________________
> >> Linux-programlama mailing list
> >> [email protected]
> >> http://liste.linux.org.tr/mailman/listinfo/linux-programlama
> >>
> >
> >
> > _______________________________________________
> > Linux-programlama mailing list
> > [email protected]
> > http://liste.linux.org.tr/mailman/listinfo/linux-programlama
> >
>
>
> _______________________________________________
> Linux-programlama mailing list
> [email protected]
> http://liste.linux.org.tr/mailman/listinfo/linux-programlama
>



-- 
Anıl Özselgin
_______________________________________________
Linux-programlama mailing list
[email protected]
http://liste.linux.org.tr/mailman/listinfo/linux-programlama

Cevap