![huh.gif](http://phpforum.ru/html/emoticons/huh.gif)
Спустя 2 минуты, 54 секунды (17.08.2010 - 12:18) waldicom написал(а):
explode, foreach и mysql_query - вот Ваши друзья для этой задачи
Спустя 1 час, 12 минут, 7 секунд (17.08.2010 - 13:30) Вертер написал(а):
Цитата (waldicom @ 17.08.2010 - 09:18) |
explode, foreach и mysql_query - вот Ваши друзья для этой задачи |
сперва текстовый файл ввести в массив построчно, а потом уже с помощью этих моих друзей обработать да?
Спустя 46 минут, 12 секунд (17.08.2010 - 14:16) waldicom написал(а):
Цитата (Вертер @ 17.08.2010 - 12:30) | ||
сперва текстовый файл ввести в массив построчно, а потом уже с помощью этих моих друзей обработать да? |
Почти.
Один из возможных сценариев:
- считываем файл в переменную (file_get_contents)
- получаем слова из этой переменной в массив (explode)
- пробегаемся по полученному массиву и вставляем данные в таблицу (foreach + mysql_query)
Спустя 1 час, 24 минуты, 42 секунды (17.08.2010 - 15:41) Вертер написал(а):
Спасибо огромное, очень признателен.
Спустя 1 день, 18 часов, 5 минут, 52 секунды (19.08.2010 - 09:47) Вертер написал(а):
<?
require("config.inc.php");
require("functions.inc.php");
$link = mysql_connect($DBSERVER, $DBUSER, $DBPASS) or die(" не подключается " );
mysql_select_db($DB, $link) or die ('Что то не так!!!');
mysql_query("SET NAMES 'utf8'"); // Выполняем запрос
$filename = '0322.txt';
$pieces = explode(" ", $data);
sort($pieces);
$baza= array();
Мне бы вот тут создать не одномерный массив , а 2х мерный, чтобы в 1й индекс записывать Слово, а во 2й индекс количество провторений в тексте этого Слова. Не могу разобраться как создать массив 2х мерный и как в него потом записывать, может кто подскажет?
for ($i=0; count($pieces); $i++) {
if ($pieces[$i]!=$pieces[$i+1]) {
$baza=$pieces[$i];
echo $pieces[$i];
echo '<br>';}}
?>
Спустя 14 минут, 21 секунда (19.08.2010 - 10:01) linker написал(а):
Не забываем про знаки препинания и прочее - удалять.
Спустя 44 минуты, 3 секунды (19.08.2010 - 10:45) Вертер написал(а):
Цитата (linker @ 19.08.2010 - 07:01) |
Не забываем про знаки препинания и прочее - удалять. |
это что значит?
Спустя 5 минут, 13 секунд (19.08.2010 - 10:51) linker написал(а):
фраза "Привет, мир!" разобьется на два слова "Привет," и "мир!", а оно вам надо? Знаки препинания не являются частью слова, потому и удалять. Но это мое ИМХО.
Спустя 1 час, 4 минуты, 32 секунды (19.08.2010 - 11:55) Вертер написал(а):
Цитата (linker @ 19.08.2010 - 07:51) |
фраза "Привет, мир!" разобьется на два слова "Привет," и "мир!", а оно вам надо? Знаки препинания не являются частью слова, потому и удалять. Но это мое ИМХО. |
вы немного забегаете вперед, но давайте сразу и это решим , это тоже не знаю как сделать - мне в маасив нужно запсывать только слова начинающиеся с буквы, а все остальные символы и цифры игнорровать, это как сделать?
наверно вот такая функция подойдет?
ctype_alpha -- проверяет алфавитные символ(ы)
Спустя 1 час, 12 минут, 10 секунд (19.08.2010 - 13:07) Вертер написал(а):
В чем тут ошибка???????
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Документ без названия</title>
</head>
<body>
<?php
require("config.inc.php");
require("functions.inc.php");
//Необходимо подключиться к БД
$link = mysql_connect($DBSERVER, $DBUSER, $DBPASS) or die(" не подключается " );
mysql_select_db($DB, $link) or die ('Что то не так!!!');
mysql_query("SET NAMES 'utf8'"); // Выполняем запрос
$filename = '0322.txt';
$data = file_get_contents($filename);
// echo $data;
$pieces = explode(" ", $data);
$ib=0; // 1й индекс выходной базы $baza
$nomb=0; // количество повторений слова
sort($pieces);
$baza= array();
for ($i=0; count($pieces); $i++) {
// если это буква то смотрим
if (ctype_alpha ($pieces[$i])) {
// если новое слово
if ($pieces[$i]!=$pieces[$i+1]) {
$baza [$ib][0]=$pieces[$i];
$baza [0][$ib]=$nomb;
$ib++;
echo $baza[$i][$i];
echo '<br>';
$nomb=0;
} //if новое слово
else {$nomb++; } //если слово повторяется
} //if это буква
} //for
?>
//ВСЕ
</body>
</html>
Спустя 14 минут, 26 секунд (19.08.2010 - 13:22) Гость_Michael написал(а):
[quote=]В чем тут ошибка???????[/quote]
добрый робот Вертер, твоя ошибка в том, что ты забыл заключить код в теги оформления и его неудобно читать тем кто может подсказать ...
добрый робот Вертер, твоя ошибка в том, что ты забыл заключить код в теги оформления и его неудобно читать тем кто может подсказать ...
![smile.gif](http://phpforum.ru/html/emoticons/smile.gif)
Спустя 4 минуты, 55 секунд (19.08.2010 - 13:27) linker написал(а):
Если без проверки и чистки слов, то получить массив готовых слов, без повторов достаточно этого
$data = file_get_contents($filename);
$pieces = array_unique(explode(" ", $data));
Спустя 1 час, 48 минут, 27 секунд (19.08.2010 - 15:15) Вертер написал(а):
Цитата (Гость_Michael @ 19.08.2010 - 10:22) |
заключить код в теги оформления и его неудобно читать тем кто может подсказать ... ![]() |
да, я даже не подумал об этом, спасибо за подсказку
Спустя 4 минуты, 1 секунда (19.08.2010 - 15:19) Вертер написал(а):
Цитата (linker @ 19.08.2010 - 10:27) |
Если без проверки и чистки слов, то получить массив готовых слов, без повторов достаточно этого$data = file_get_contents($filename); |
нет, это не годится, мне нужно подсчитать количество повторений и проиндексировать массив по убыванию повторений одинаковых слов
Спустя 22 минуты, 58 секунд (19.08.2010 - 15:42) Вертер написал(а):
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Документ без названия</title>
</head>
<body>
<?php
require("config.inc.php");
require("functions.inc.php");
//Необходимо подключиться к БД
$link = mysql_connect($DBSERVER, $DBUSER, $DBPASS) or die(" не подключается " );
mysql_select_db($DB, $link) or die ('Что то не так!!!');
mysql_query("SET NAMES 'utf8'"); // Выполняем запрос
//$f = fopen("baza.csv", "rt") or die("Ошибка!");
$filename = '0322.txt';
$data = file_get_contents($filename);
// echo $data;
$pieces = explode(" ", $data);
//echo $pieces[3]; // piece1
//echo '<br>';
//echo count($pieces);
sort($pieces);
$baza= array();
$baza2= array();
$nomb=0;
$bb=0;
for ($i=0; count($pieces); $i++) {
if (ctype_alpha ($pieces[$i])) {
if ($pieces[$i]!=$pieces[$i+1]) {
$baza[$bb]=$pieces[$i];
$baza2[$bb]=$nomb;
$nomb=0;
$bb++;
echo '<br>';} else {$nomb++;}
}
}
rsort($baza2);
for ($i=0; count($baza2); $i++) {
как вывести массив $baza в соответствии с сортировкой в $baza2?
}
?>
//ВСЕ
</body>
</html>