[OFF]Ох, мама...[/OFF]
Ну скажи, где написано, что у тебя $sum это массив?
У тебя это голимый скаляр. count потому и выдает единицу.
И это только во первых...
Хотя я вроде понял, что ты хочешь сделать (вроде)
Патчи могут встречаться в каждой строке файла, причем в определенных позициях строки и ты хочешь подсчитать сколько в каждой строке этих самых патчей.
Если это так то:
1. Сотвори перед циклом фор массив $sum_x=array();
2. После всех твоих if\'ов в цикле фор переменная $sum содержит количество патчей в строке файла.
3. Тут же засовывай это значение в вышесозданный массив $sum_x[]=$sum;
4. По окнчании цикла фор у тебя будет массив, заполненный данными, выводя его любым известным тебе способом, ты получишь искомое.
Причем, индекс массива =0 будет соответствовать количеству патчей в последней строке файла, индекс=1 - в предпоследней, ..., индекс=последний_элемент_массива - в первой строке файла.
И зачем тебе какой то count?
И еще.
Ну зачем тебе в цикле фор цикл форич?
И, если ты все время заново будешь создавать массив с одним и тем же именем функцией array() у тебя сохраниться в нем только последнее значение. Ты об этом задумывался?