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 />'; > >>> } > >>> } > >>> } > >>> ?> > >>> > >>> Å�eklinde denerseniz sıkıntınızın nerede olduÄ�unu > >> anlaya bilirsiniz. > >>> > >>> 2009/5/9 Bedreddin SAHBAZ <[email protected]> > >>> > >>>> 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 > >>>> [email protected] > >>>> http://liste.linux.org.tr/mailman/listinfo/linux-programlama > >>>> > >>> > >>> > >>> > >>> -- > >>> Elvin Å�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
