From: Fatih Orhan (fatihorhan@gmail.com)
Date: Mon 04 Apr 2005 - 11:08:19 EEST
anladığım kadarıyla sözdizimi (syntax) hatası yok, sonucu görmek için
kodun sonuna şunu ekledim:
echo "önce: $toplam_kisi_2
sonra: $toplam_kisi_sayisi";
ve şöyle bi sonuç döndü:
önce: 545498312 sonra: 213.894.545
yani noktalar eklenmesine ekleniyo ama sayı da ters dönüyo, bu sorunun
kaynağı string'leri birleştirdiğiniz yerde yatıyor.
şu satırları değiştiriyorum:
önce: $toplam_kisi_sayisi.=$toplam_kisi_2{$i};
sonra: $toplam_kisi_sayisi=$toplam_kisi_2{$i}.$toplam_kisi_sayisi;
önce: $toplam_kisi_sayisi.=".";
sonra: $toplam_kisi_sayisi=".".$toplam_kisi_sayisi;
kodu tekrar çalıştırıyorum, sonuç:
önce: 545498312 sonra: 545.498.312
sorun düzeldi!
ama sorunu düzeltmekle kalmıyorum, bu işlemi yapmanın daha kısa bi
yolunu gösteriyorum (bunu php.netden indirdiğim dokümantasyonda
buldum):
$numara="1234567890";
echo strrev(substr(chunk_split(strrev($numara), 3, '.'), 0, -1));
// 1.234.567.890
tekerleği yeniden icat etmek yerine php'nin geniş kütüphanesini
kullanmak genellikle daha iyidir: daha hızlı çalışır, daha kısa kod,
yaptığınızı herkes anlar, debug yok. çoğu probleminize www.php.net/doc
adresinde çözüm bulabilirsiniz. kolay gelsin.
On Apr 2, 2005 7:11 PM, bunyamin n <j_thealex@hotmail.com> wrote:
> $toplam_kisi_2=("545498312");
>
> for($i=strlen($toplam_kisi_2); $i>=0; $i--){
> $toplam_kisi_sayisi.=$toplam_kisi_2{$i};
> if($i%3==0 and $i!=0 and $i!=strlen($toplam_kisi_2)){
> $toplam_kisi_sayisi.=".";
> }
> }
>
> bu kodda nasil bir yanlislik var acaba??
>
> yapmak istediigm sey...
>
> 3 satirda bir nokta koydurmak
>
> ama bi turlu olmuyor?
>
> yardimci olurmusunuz??
>
>
> _______________________________________________
> Linux-programlama mailing list
> Linux-programlama@liste.linux.org.tr
> http://liste.linux.org.tr/mailman/listinfo/linux-programlama
>
>
>
_______________________________________________
Linux-programlama mailing list
Linux-programlama@liste.linux.org.tr
http://liste.linux.org.tr/mailman/listinfo/linux-programlama