Помощник
|
Работа с масивами.. Вывод списка из файла |
Banderas
|
Сообщение
#1
|
||
|
|
||
|
|||
ZiTosS |
1.3.2009, 13:33;
Ответить: ZiTosS
Сообщение
#2
|
|
Banderas,
1) Кто за тебя будет обрабатывать получившийся массив, ты его сформировал, но не вывел на экран. [php]<?php $f = fopen("file.txt", "rt") or die ("ERROR"); while (!feof($f)) { $File[] = fgets ($f,50); } fclose ($f); print_r($File) ?>[/php] 2) Учти, что если строка будет больше 50 байт, у тебя будет обработана не полностью. fgets() побайтовое считывание строки. Так же можно использовать функцию file(), она построчно сома в массив считывает. 3) Если программси уважает себя, он всегда будет форматировать код и делать его более легким для чтения. Всегда нужно ставить отступы. Стилей форматирования не так уж и мало, нужно придерживаться какого-то своего. |
|
|
Banderas
|
Сообщение
#3
|
|
У меня вывело
Array ( [0] => Bodya [1] => Vitya [2] => Roma [3] => Dima ) Специально попробовал... У меня file.txt весил 24 байта, я сделал 74, но оно все выводит... Как здесь применить file ()? Поищу статьи про грамотность програмирования ))) |
|
|
ZiTosS |
1.3.2009, 13:58;
Ответить: ZiTosS
Сообщение
#4
|
|
У меня вывело... Так конечно я просто вам распечатал представление массива с помощью print_r() Как видите [php]echo $File[0]; // Bodya echo $File[1]; // Vitya echo $File[2]; // Roma echo $File[3]; // Dima[/php] Как здесь применить file ()? [php]<?php $f = fopen("file.txt", "rt") or die ("ERROR"); $File = file($f); fclose ($f); print_r($File) ?>[/php] |
|
|
Banderas
|
Сообщение
#5
|
|
а как сделать что бы не прописывать
[php]echo $File[0]; echo $File[1];[/php] Выводилось все в файл.тхт ??? Написал только что бы выводило количество строк [php]<? $f = fopen ("file.txt", "rt") or die ("ERROR"); while (!feof($f)) { $File[] = fgets ($f, 50); } fclose($f); for ($i=0; $i<count($File); $i++); echo "$i\n"; ?>[/php] |
|
|
ZiTosS |
1.3.2009, 21:23;
Ответить: ZiTosS
Сообщение
#6
|
|
С fgets()
[php]<?php $f = fopen("file.txt", "rt") or die ("ERROR"); while (!feof($f)) { $File[] = fgets($f, 50); } fclose($f); for($i = 0; $i < count($File); $i++) echo "Элемент [{$i}] - {$File[$i]}<br />"; ?>[/php] C file() [php]<?php $f = fopen("file.txt", "rt") or die ("ERROR"); $File = file($f); fclose($f); foreach($File as $key => $value) echo "Элемент [{$key}] - {$value}<br />"; ?>[/php] Как видишь я использовал 2 вида циклов. В for() надо указывать количество и перебирать. Предлагаю для перебора массива использовать цикл foreach(). [php]Полная запись: foreach([Массив] as [ассоциация_или_номер] => [значение]) Сокращенная запись: foreach([Массив] as [значение])[/php] Поблагодарили: (0) |
|
|
Banderas
|
Сообщение
#7
|
|
Спасибо, теперь я понял =)
Я хоть что то понял, сам for написал - уже гордость берет )))) Хотел спросить, когда нужно ставить { } ? Ато я их удалил и все нормально... [php]for($i = 0; $i < count($File); $i++) echo "Элемент [{$i}] - {$File[$i]}<br />";[/php] Например зачем тут [{$i}] ставить [] и {} ? Без них прекрасно все работает... Так же $File[$i] - так тоже пашет... ???? |
|
|
ZiTosS |
2.3.2009, 1:53;
Ответить: ZiTosS
Сообщение
#8
|
|
Я всегда привык все переменные в распечатке в {}
К примеру вот 2 строки [php]echo "Моё имя $FIO["name"]"; // не работает echo "Моё имя {$FIO["name"]}"; // работает[/php] |
|
|
Banderas
|
Сообщение
#9
|
|
Думаю поюзать Ещё раз спасибо. Хочу получить което упражнение. Попробовать свои силы. Напишите кто-задание какое-то по масивам
|
|
|
ZiTosS |
2.3.2009, 21:39;
Ответить: ZiTosS
Сообщение
#10
|
|
Ну раз так хочешь... Ждём твоего решения, задачки не сложные:
1) Есть массив [php]$massiv = array(10, 0, 5, 35, 40, 0, 15, -1, -6, 0, 5);[/php] Убрать из массива все отрицательные и нулевые элементы, не прибегая к созданию нового массива. Затем вывести получившийся на экран. 2) Массив пользователей, нужно вывести на экран в виде. N | Фамилия | Имя | Отчество [php]$USERS = array( array('family'=>"Бешкеков", 'name'=>"Азбек", 'Ot4estvo'=>"Рувимович"), array('family'=>"Ушлёпок", 'name'=>"Рамзес", 'Ot4estvo'=>"Акакиевич"), array('family'=>"Масисин", 'name'=>"Василий", 'Ot4estvo'=>"Романович"), array('family'=>"Бутылкин", 'name'=>"Вячеслвав", 'Ot4estvo'=>"Бутыркович") );[/php] 3) Создать массив из n элементов и занести в него случайные числа, затем вывести его на экран в порядке возрастания чисел. 4) Есть ассоциативный массив, вывести данные по запрашиваемому ключу, ключ достаточно определять в начале скрипта в текстовой переменной. |
|
|
|
Похожие темы
Тема | Ответов | Автор | Просмотров | Последний ответ | |
---|---|---|---|---|---|
Ручной обмен, ввод/вывод электронных валют | ЮMoney, WMZ, Крипта, Приват, Монобанк | Низкие комиссии, минимальные суммы сделок быстро, удобно, по доступному курсу |
200 | Sostavitel | 98239 | 11.2.2024, 21:07 автор: Wolfhound |
|
Нужна работа | 0 | filatd | 741 | 12.1.2024, 17:08 автор: filatd |
|
Работа: Разная рутина Работа, разные рутинные задачи: постинг / переговоры / поиск |
1 | ivanshargin | 960 | 31.10.2023, 17:55 автор: ServersExpert |
|
Sbitcoin.ru – Ввод, Вывод, Обмен: Qiwi, YD, Btc, Btc-e, PM, Cash IN, PR24, MG, WU, Нал (RU, UA). | 9 | sbitcoinru | 6784 | 10.10.2023, 19:25 автор: Sbitcoin |
|
Нужна удаленная работа Нужна удаленная работа |
0 | filatd | 1014 | 12.9.2023, 11:40 автор: filatd |
Текстовая версия | Сейчас: 24.4.2024, 1:05 |