Tunca Hocam Selamlar,
Sizin verdiğinizi kendimce biraz eğip büküp şöyle yaptım.
Amacım şu $log=" içerisindeki sayıların adedini çoktan az'a doğru sıralatmak; Yani $log değişkeni içerisinde 23 den 50 adet varsa, 44 den 96 tane varsa .... gibi
bunların çıktısını
[44] ->96
[23] ->50
[60]->27
[01]->12
....
gibi

ama yazdığım kod biraz arızalı.
( bir yandan sunucular ile boğuşup bir yandan kodlara bakınca zor oluyor.)
Yazdığım kod dan gözden kaçan neresi var anlamadım.
Kolaylıklar Levent "SARI"

<?php

$log="23 44 19 27 46 39 32 05 51 26 53 12 21 03 17 07 46 30 32 48 51 06 35 16 35 12 52 48 07 14 46 29 40 32 31 26 34 21 51 14 47 22 23 38 21 09 41 31 34 30 33 11 29 51 51 10 43 46 14 20 52 51 44 02 42 05";

$arr=explode(" ",$log);


for($i=0; $i<count($arr); $i++)
$array[$arr[$i]]++;

sort($array);

echo '<pre>';
print_r($array);
?>

Çıktı:

Array
(
    [0] => 1
    [1] => 1
    [2] => 1
    [3] => 1
    [4] => 1
    [5] => 1
    [6] => 1
    [7] => 1
    [8] => 1
    [9] => 1
    [10] => 1
    [11] => 1
    [12] => 1
    [13] => 1
    [14] => 1
    [15] => 1
    [16] => 1
    [17] => 1
    [18] => 1
    [19] => 1
    [20] => 1
    [21] => 2
    [22] => 2
    [23] => 2
    [24] => 2
    [25] => 2
    [26] => 2
    [27] => 2
    [28] => 2
    [29] => 2
    [30] => 2
    [31] => 2
    [32] => 2
    [33] => 2
    [34] => 3
    [35] => 3
    [36] => 3
    [37] => 4
    [38] => 6
)






29-08-2013 22:32 tarihinde, Tuncay BAŞ yazdı:

Şöyle birşey işinizi görürmü

PHP ile

$log="23 44 19 27 46 39 32 05 51 26 53 12 21 03 17 07 46 30 32 48 51 06 35 16 35 12 52 48 07 14 46 29 40 32 31 26 34 21 51 14 47 22 23 38 21 09 41 31 34 30 33 11 29 51 51 10 43 46 14 20 52 51 44 02 42 05";

$arr=explode(" ",$log);

print_r(array_count_values($arr));

çıktı :

Array

(

[23] => 2

[44] => 2

[19] => 1

[27] => 1

[46] => 4

[39] => 1

[32] => 3

[05] => 2

[51] => 6

[26] => 2

[53] => 1

[12] => 2

[21] => 3

[03] => 1

[17] => 1

[07] => 2

[30] => 2

[48] => 2

[06] => 1

[35] => 2

[16] => 1

[52] => 2

[14] => 3

[29] => 2

[40] => 1

[31] => 2

[34] => 2

[47] => 1

[22] => 1

[38] => 1

[09] => 1

[41] => 1

[33] => 1

[11] => 1

[10] => 1

[43] => 1

[20] => 1

[02] => 1

[42] => 1

)

*From:*[email protected] [mailto:[email protected]] *On Behalf Of *Levent SARI
*Sent:* Thursday, August 29, 2013 9:03 PM
*To:* Özgür yazılımlarla çeşitli dillerde yazılım geliştirme
*Subject:* [Linux-programlama] txt Dosyasi icerisindeki sayilarin adedini almak!

Arkadaşlar ofisde kullandığımız yazılımlardan bir tanesi aşağıdaki gibi bir log çıktısı veriyor. Log dosyasında 1 ile 34 arasında her bir hata/ işlem için bir sayı numarası basılmakta.
örnk: 4 --> yetkisiz erişim vb.
Bende bir script ya da uygulama ile bu log dosyasında ki hata kodlarını sayısını almak istiyorum.

Yazacağım uygulama log dosyasını okuyup içerisinde kaç numaralı hata kodundan kaç adet basıldığını bana ayrı bir çıktı olarak vermeli.

Örnk: 34 -> 20 adet
           12 -> 12 adet gibi.
 Bir kaç şey konuştuk arkadaşlar ile ama pek çıkamadık işin içinden.
Keza benim aklıma gelen ve ilk etapda yapmasını istediğim şey yazılabilecek bir metod log dosyasının yolunu vermek ve bu log.txt yi okutup sonucu çıktı olarak başka bri txt dosyasına verdirmek.
Konu hakkında önerileriniz nedir?
Benimle de paylaşa bilrseniz çok memnun olurum.
Kolaylıklar Levent "SARI"
###########################################
Log.txt dosyasının içeriği
23 44 19 27 46 39 32 05 51 26 53 12 21 03 17 07 46 30 32 48 51 06 35 16 35 12 52 48 07 14 46 29 40 32 31 26 34 21 51 14 47 22 23 38 21 09 41 31 34 30 33 11 29 51 51 10 43 46 14 20 52 51 44 02 42 05



_______________________________________________
Linux-programlama mailing list
[email protected]
https://liste.linux.org.tr/mailman/listinfo/linux-programlama
Liste kurallari: http://liste.linux.org.tr/kurallar.php

_______________________________________________
Linux-programlama mailing list
[email protected]
https://liste.linux.org.tr/mailman/listinfo/linux-programlama
Liste kurallari: http://liste.linux.org.tr/kurallar.php

Cevap