天天看点

php日志分析小脚本,分析出每行包含相同字符串的统计数量(从大到小进行排序)

<code>&lt;?php</code>

<code>header(</code><code>"Content-type:text/html;CharSet=utf-8"</code><code>);</code>

<code>$file</code> <code>= </code><code>fopen</code><code>(</code><code>"sqlstr.txt"</code><code>, </code><code>"r"</code><code>);</code>

<code>$sql_arr</code><code>=</code><code>array</code><code>();</code>

<code>$i</code><code>=0;</code>

<code>//输出文本中所有的行,直到文件结束为止。</code>

<code>while</code><code>(! </code><code>feof</code><code>(</code><code>$file</code><code>))</code>

<code>{</code>

<code> </code><code>$sql_arr</code><code>[</code><code>$i</code><code>]= </code><code>fgets</code><code>(</code><code>$file</code><code>);</code><code>//fgets()函数从文件指针中读取一行</code>

<code> </code><code>$i</code><code>++;</code>

<code>}</code>

<code>fclose(</code><code>$file</code><code>);</code>

<code>$sql_arr</code><code>=</code><code>array_filter</code><code>(</code><code>$sql_arr</code><code>);</code>

<code>//此处用变量$bianliang1来标识第一个数组</code>

<code>$bianliang1</code><code>=</code><code>'aaa'</code><code>;</code>

<code>foreach</code> <code>(</code><code>$sql_arr</code> <code>as</code> <code>$k</code> <code>=&gt; &amp;</code><code>$v</code><code>) {</code>

<code>    </code><code>$newarr</code><code>[</code><code>$k</code><code>] = </code><code>explode</code><code>(</code><code>$bianliang1</code><code>, </code><code>$v</code><code>);</code>

<code>//此处用变量$bianliang1来标识第二个数组</code>

<code>$bianliang2</code><code>=</code><code>'bbb'</code><code>;</code>

<code>foreach</code> <code>(</code><code>$newarr</code> <code>as</code> <code>$k</code> <code>=&gt; &amp;</code><code>$v</code><code>) {</code>

<code>    </code><code>if</code><code>(!</code><code>empty</code><code>(</code><code>$v</code><code>[1])){</code>

<code>        </code><code>$newtwo</code><code>[</code><code>$k</code><code>] = </code><code>explode</code><code>(</code><code>$bianliang2</code><code>, </code><code>$v</code><code>[1]);</code>

<code>    </code><code>}</code>

<code>foreach</code> <code>(</code><code>$newtwo</code> <code>as</code> <code>$k</code> <code>=&gt; &amp;</code><code>$v</code><code>) {</code>

<code>    </code><code>$aaa</code><code>[] = </code><code>$v</code><code>[0];</code>

<code>    </code> 

<code>$i</code> <code>= </code><code>count</code><code>(</code><code>$aaa</code><code>);</code>

<code>$ok</code> <code>= </code><code>array_count_values</code> <code>(</code><code>$aaa</code><code>);</code>

<code>arsort(</code><code>$ok</code><code>);</code>

<code>echo</code> <code>'&lt;pre&gt;'</code><code>;</code>

<code>echo</code> <code>"共"</code><code>.</code><code>$i</code><code>.</code><code>"条"</code><code>;</code>

<code>echo</code> <code>'&lt;br&gt;'</code><code>;</code>

<code>print_r(</code><code>$ok</code><code>);</code>

<code>?&gt;</code>

本文转自 IT阿飞 51CTO博客,原文链接:http://blog.51cto.com/itafei/1970274