ExBB Community » » PHP/Perl » Счётчик строк в файле с исключением некоторых строк

Страниц (1): [1]
 

1. Gori - 18 июня 2014 — 11:40 - перейти к сообщению
Есть файл-база "data/user.php". В ней находятся регистрационные данные юзеров в таком порядке:

дата|имя|мэйл|активация|

В файле это выглядит так:

02.05.2014|Марина|bla.bla@mail.ru|1|
12.06.2014|Sergey|bla.bla@mail.ru|1|
23.11.2013|Олег|bla.bla@mail.ru|0|

Нужен счётчик строк, но без строки с параметром: |0|

Я делаю так:

CODE:
$file = "data/user.php";

$file_array = file($file);
$file_count = count($file_array);


Но считает все строки. Т.е. счётчик показывает, что юзеров 3.
Но мне нужно чтобы счётчик показывал число 2, т.к. только 2 юзера с параметром |1|

Как исключить при подсчёте строку с параметром: |0| ?
2. BON - 18 июня 2014 — 18:10 - перейти к сообщению
ну а сделать извращение тип n-1 нельзя? или сделать условие, что если есть нулевая строка считать со 2й
3. Gori - 18 июня 2014 — 18:18 - перейти к сообщению
BON , на примере можно?
4. 1Bot - 19 июня 2014 — 01:51 - перейти к сообщению
CODE:

$file = "data/user.php";
$file_array = file($file);
$file_count = count($file_array);

$count = 0; // количество зарегистрированных пользователей
for($n=0; $n<$file_count; $n++){
list($data,$name,$mail,$aktiv,$tail) = explode("|",$file_array[$n]);
if($aktiv) $count++;
}
5. Gori - 19 июня 2014 — 04:35 - перейти к сообщению
1Bot , пока добился, чтобы имена юзеров выводил, которые с цифрой |1|

Вот так:

CODE:
$file = "data/user.php";
$file_array = file($file);
$file_count = count($file_array);

for($n=0; $n<$file_count; $n++){
list($data,$name,$mail,$aktiv,$tail) = explode("|",$file_array[$n]);
if($aktiv)
{
echo $name;
}
}


Выводит "МаринаSergey"

Но как их посчитать?
6. 1Bot - 19 июня 2014 — 06:14 - перейти к сообщению
Gori
Скорее всего файл имеет не ту структуру, которую Вы привели. Прикрепите "data/user.php" с своему сообщению, чтобы посмотреть его структуру.
7. Gori - 19 июня 2014 — 06:34 - перейти к сообщению
1Bot пишет:
Gori
Скорее всего файл имеет не ту структуру, которую Вы привели. Прикрепите "data/user.php" с своему сообщению, чтобы посмотреть его структуру.


Да я немного упростил для примера. Там много значений.
8. 1Bot - 19 июня 2014 — 07:18 - перейти к сообщению
CODE:
<?php
/*
Подсчет количества зарегистрированных пользователей по файлу со структурой

rn|time|name|password|zvezda|email|pol|drdate|delta_gmt|user_skin|icq|url|gorod|interes|sign|avatar|activation|
*/
$file = "data/user.php";
$file_array = file($file);
$file_count = count($file_array);

$count = 0; // количество зарегистрированных пользователей
/* начинаем со второй строки, чтобы пропустить <?die;?> */
for($n=1; $n<$file_count; $n++){
list($rn, $time, $name, $password, $zvezda, $email, $pol,
$drdate, $delta_gmt, $user_skin, $icq,$url, $gorod,
$interes, $sign, $avatar, $activation, $tail) = explode("|",$file_array[$n]);
if($activation) $count++;
}
echo "количество зарегистрированных пользователей = $count\n";
?>
9. Gori - 19 июня 2014 — 07:39 - перейти к сообщению
1Bot , супер! Всё работает! Ура!

Яндекс.Метрика   

Powered by ExBB
[Script Execution time: 0.0163]     [ ]