Forum Webscript.Ru

Программирование => PHP => Тема начата: xax от 14 Апреля 2004, 18:07:34

Название: Подсчёт значений
Отправлено: xax от 14 Апреля 2004, 18:07:34
Есть построчный массив, где данные разбиты через ;
a;s;f;s
d;d;d
df;gh;ж;s

Как сделать так, чтобы если в 1 2 и 3 столбцах данного массива есть значения, то они скалдываются (Одно значение - цифра 1)
Тоесть
Например массив
f; ;e;t
f;r;t;r
e;f;g;
 ;d; ;eжа; ;e; ;e
1 строчка - 2
2 строчка - 3
3 строчка - 3
4 строчка - 1
Название: Подсчёт значений
Отправлено: Меняздесьдавнонет от 14 Апреля 2004, 19:32:08
то, что ты здесь накалякал - это НЕ МАССИВ
никаких "разбивателей" данных в массивах в пхп не было и нету.
Я фигею с этого человека, который так до сихпор и не узнал, что такое массив ,и называет этим словом какае-то каракули.
Еще и столбцы приплел.


Переведи это в массив - тогда и будем дальше разговаривать
Название: Подсчёт значений
Отправлено: xax от 14 Апреля 2004, 22:35:05
RomikChef
Ок
Название скритпа e.php
  $file="massive.txt";
  $arr=file($file);
  $str=explode(";",$arr[$n]);
//Считали файл massive.txt в массив - Тут я вроде всё всё верно накалякал
Содержимое файла massive.txt
f; ;e;t
f; ;t;r
e;f;g;
;d; ;eжа; ;e; ;e

Надо, чтобы если в адресной строке набрано http://адрес/e.php?n
=2
То выводилось 2 (Тоесть надо, чтобы в первых трёх столбиках были значения, если пробел, то он не считается)
Название: Подсчёт значений
Отправлено: Меняздесьдавнонет от 14 Апреля 2004, 22:39:04
что "ок"?
МАССИВ ГДЕ?
Название: Подсчёт значений
Отправлено: AliMamed от 14 Апреля 2004, 23:15:11
xax ну сделай как-нибудь хоть перебором. я понять не могу чего ты от народа хочешь? специальной функции для этого
Цитировать
xax:
Как сделать так, чтобы если в 1 2 и 3 столбцах данного массива есть значения, то они скалдываются (Одно значение - цифра 1)

бреда нет.

Цитировать
xax:
Надо, чтобы если в адресной строке набрано http://адрес/e.php?n
=2
То выводилось 2 (Тоесть надо, чтобы в первых трёх столбиках были значения, если пробел, то он не считается)

это ты думаешь более понятно первый вопрос написал?
тогда echo $_GET[\'n\']
Название: Подсчёт значений
Отправлено: Меняздесьдавнонет от 14 Апреля 2004, 23:29:00
AliMamed
это все бесполезно.

надо ему работать с колонками в этом файле.
то есть, по уму эесплодить каждую строку и добавлять в массивы, которые являются отображением колонок.
А потом с ними работать.
Но я не в состояни ему объяснить.
Название: Подсчёт значений
Отправлено: Mog. от 15 Апреля 2004, 08:49:58
xax, неужели до сих пор не научился терзать файлы на "строчки/столбики"?
Название: Подсчёт значений
Отправлено: xax от 15 Апреля 2004, 14:17:12
Mog.
Научился
$file="massive.txt";
$arr=file($file); //файл считали в массив построчно
$str=explode(";",$arr[$n]); //Строчка разбивается на массив
Мне нужно, чтобы если в строке $arr элементы $str[1] $str[2] $str[3] имеют значение (Что - нибудь написано), то мне выводилось что столько элементов (Из $str[1] $str[2] $str[3]) имеющих значение находятся в этой строке!
Так ясно?
Название: Подсчёт значений
Отправлено: Меняздесьдавнонет от 15 Апреля 2004, 14:20:51
xax
ну и кто тебе мешает в том же цикле считать каждый элемент?
Название: Подсчёт значений
Отправлено: xax от 15 Апреля 2004, 14:22:02
RomikChef Никто - я за помощью и пришол, чтобы помогли, я не знаю, как это делать!
Поможешь?
Название: Подсчёт значений
Отправлено: Mog. от 15 Апреля 2004, 14:30:57
[OFF]ох чую, ща тему прихлопнут[/OFF]
Название: Подсчёт значений
Отправлено: Меняздесьдавнонет от 15 Апреля 2004, 14:36:58
xax, скажи, что ты не можешь?
взять переменную и прибавить к ней значение нужного элемента?

Mog., я даже не знаю.
Наверное, тут нужен специальный педагог, или что.
с ТАКИМ уровнем я не салкивался.
я не знаю, что ему объяснять.
Но пускай пока живет.
Как я помню, тут уже нескоьлко человек было, которые с азартом кидались ему что-то объяснять, но все зубы пообломали :-)
может, еще какой герой найдется :-)
Название: Подсчёт значений
Отправлено: xax от 15 Апреля 2004, 14:39:50
RomikChef Давай по - частям?
Как сделать так, чтобы скрипт понимал, что в $str[1] что - то написано?
Название: Подсчёт значений
Отправлено: Mog. от 15 Апреля 2004, 14:52:08

$file="massive.txt";
$arr=file($file);
$num=1;
foreach($arr as $a)
    {
    $str=explode(";",$a);
    $counter=0;
    foreach($str as $x)
        {
        if($x!="")//это волшебная строка, угадай, что она делает
            {
            $counter++;
            }
        }
    echo "в строчке номер $num содержится $counter элементов
";
    $num++;
    }
?>
Название: Подсчёт значений
Отправлено: xax от 15 Апреля 2004, 14:57:36
Mog. Волшебная строчка, наверное говорит, что если пусто, то не выводим?

У тебя в коде foreach($str as $x); для всех элементов, а можно сделать foreach($str[1],$str[2],$str[3] as $x); ?
Название: Подсчёт значений
Отправлено: hanslinger от 15 Апреля 2004, 15:00:26
НЕЛЬЗЯ
почитай про foreach. чего ты хочешь добиться этой своей фантазией?
Название: Подсчёт значений
Отправлено: Mog. от 15 Апреля 2004, 15:07:54
Цитировать
xax:
а можно сделать foreach($str[1],$str[2],$str[3] as $x);

А скажи зачем
Название: Подсчёт значений
Отправлено: xax от 15 Апреля 2004, 15:23:08
Mog.
Есть патчи, в списке по названиям игр должно быть рядом с названием количество патчей к этой игре, а названия патчей к примеру пишутся в $str[1] $str[2] $str[3]
Название: Подсчёт значений
Отправлено: hanslinger от 15 Апреля 2004, 15:33:56
[OFF]RomikChef
как с этим бороться?[/OFF]
Название: Подсчёт значений
Отправлено: Mog. от 15 Апреля 2004, 15:40:04
xax, я тебя все равно не понимаю.
Ты показал файл txt тебе сделали как надо, а файл не такой, выходит?
[OFF]... пойду уотоплюсь. (C) RomikChef
Шутка, пойду сына из садика забирать [/OFF]
Название: Подсчёт значений
Отправлено: xax от 15 Апреля 2004, 15:42:49
Mog. В файле txt 27 столбцов, а нужно проверять только 1 18 21 16
Название: Подсчёт значений
Отправлено: hanslinger от 15 Апреля 2004, 15:59:54
Ну так и проверяй $str[1], $str[18], $str[21], $str[16]. Не обязательно же через foreach.
Название: Подсчёт значений
Отправлено: xax от 16 Апреля 2004, 23:20:35
hanslinger
А как ещё?
Название: Подсчёт значений
Отправлено: xax от 18 Апреля 2004, 14:20:41
Блин, ну хоть скажите какая функция или что - то типа этого?
Название: Подсчёт значений
Отправлено: Меняздесьдавнонет от 19 Апреля 2004, 01:18:07
никаких функций.
в том-то и дело, что все делается теми же средствами, что и весь остальной твой код.
Название: Подсчёт значений
Отправлено: Mog. от 19 Апреля 2004, 07:57:11
Цитировать
RomikChef:
все делается теми же средствами, что и весь остальной твой код.

[OFF]Т.е. Ромик говорит, что Mog.\'ом :) и всеми остальными участниками обсуждения [/OFF]
Как вариант, из того, что есть (т.е. из всего массива от $file="massive.txt";
$arr=file($file);
$num=1;
foreach($arr as $a)
    {
    $str=explode(";",$a);
    $counter=0;
    $str_new=array("$str[1]","$str[18]","$str[21]","$str[16]");// создаем новый массив
    foreach($str_new as $x)
        {
        if($x!="")//волшебная строка, угадай, что она делает
            {
            $counter++;
            }
        }
    echo "в строчке номер $num содержится $counter элементов
";
    $num++;
    }
?>
Название: Подсчёт значений
Отправлено: Меняздесьдавнонет от 19 Апреля 2004, 10:01:06
Mog.
какую-то ты фигню наворотил
Название: Подсчёт значений
Отправлено: Mog. от 19 Апреля 2004, 10:29:54
RomikChef В где?
Название: Подсчёт значений
Отправлено: xax от 19 Апреля 2004, 15:42:23
Mog. Спасибо
RomikChef Всё работает
Название: Подсчёт значений
Отправлено: Меняздесьдавнонет от 19 Апреля 2004, 16:13:16
то, что оно работает - это фигня.
Вот то, что ты не понимаешь, КАК оно работает - это хуже.

мог, в общем, я зря придирался, действительно.
Какая разница - просто реализован алгоритм, или сложно.
Все равно этот чугунный не поймет ни того ни того
Название: Подсчёт значений
Отправлено: xax от 19 Апреля 2004, 16:14:54
RomikChef Не - я понял, я  только не понял почему неочень...
Название: Подсчёт значений
Отправлено: Mog. от 20 Апреля 2004, 08:14:37
Интересно, чего там можно непонять?
Название: Подсчёт значений
Отправлено: Меняздесьдавнонет от 20 Апреля 2004, 09:34:42
Mog.
По-хорошему, на будущее, надо было сначала сдаелать обработку одного столбца.
Это было бы гораздо проще, и, может быть, дошло бы до него.
А когда вы все враз пихаете, как сами сделали бы, вы не думаете о бедном иванушке, который это все разбирать будет, который не знает то, что вы подразумевали, написав тот или иной кусок
Название: Подсчёт значений
Отправлено: Меняздесьдавнонет от 20 Апреля 2004, 09:44:14
задача-то не в том, чтобы у него этот тупой скрипт заработал.
а чтобы он научился сам составлять алгоритм, пользоваться кирпичиками if, foreach, составляясобствпенные программы.
а богадельню, когда он приходит, делает заказ, ему пишут готовое - я закрываю.