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 <
bedo_at_sahbaz.name.tr> 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 />';
> >>> }
> >>> }
> >>> }
> >>> ?>
> >>>
> >>> �eklinde denerseniz sıkıntınızın nerede oldu�unu
> >> anlaya bilirsiniz.
> >>>
> >>> 2009/5/9 Bedreddin SAHBAZ <bedo_at_sahbaz.name.tr>
> >>>
> >>>> Merhabalar,
> >>>>
> >>>> Yapmak istedi�im �ey basit ancak bir türlü
> >> mantı�ı çözemedim.
> >>>> Bir txt
> >>>> dosyasından verileri satır satır okuyarak belli kritere
> >>>> uymayanları
> >>>> ekrana
> >>>> yazdırmak istiyorum. Bunun için �ö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 �ekilde kodu çalı�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�gul ettimse özür dilerim.
> >>>>
> >>>> Saygılarımla..
> >>>>
> >>>> _______________________________________________
> >>>> Linux-programlama mailing list
> >>>> Linux-programlama_at_liste.linux.org.tr
> >>>> http://liste.linux.org.tr/mailman/listinfo/linux-programlama
> >>>>
> >>>
> >>>
> >>>
> >>> --
> >>> Elvin �iriyev
> >>> http://elvin.siriyev.net
> >>> _______________________________________________
> >>> Linux-programlama mailing list
> >>> Linux-programlama_at_liste.linux.org.tr
> >>> http://liste.linux.org.tr/mailman/listinfo/linux-programlama
> >>>
> >>
> >>
> >> _______________________________________________
> >> Linux-programlama mailing list
> >> Linux-programlama_at_liste.linux.org.tr
> >> http://liste.linux.org.tr/mailman/listinfo/linux-programlama
> >>
> >
> >
> > _______________________________________________
> > Linux-programlama mailing list
> > Linux-programlama_at_liste.linux.org.tr
> > http://liste.linux.org.tr/mailman/listinfo/linux-programlama
> >
>
>
> _______________________________________________
> Linux-programlama mailing list
> Linux-programlama_at_liste.linux.org.tr
> http://liste.linux.org.tr/mailman/listinfo/linux-programlama
>
-- Anýl Özselgin
_______________________________________________
Linux-programlama mailing list
Linux-programlama_at_liste.linux.org.tr
http://liste.linux.org.tr/mailman/listinfo/linux-programlama
Received on Tue 12 May 2009 - 09:56:03 EEST