Автор Тема: Массивные игры  (Прочитано 23830 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн xax

  • Фанат форума
  • Постоялец
  • ***
  • Сообщений: 230
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
Массивные игры
« : 08 Января 2005, 02:33:02 »
Есть код:
  $file="news/news.txt";
  $arr=file($file);
  $str=explode(";",$arr[$n]);
$massive=$arr[$n];
$flip_array=array_flip($massive);
$runame=explode(";",$flip_array);
if(eregi("[А-Яа-я]", $runame[0])) {
$runame_title="($runame[0])";
}
параметр $n берётся из адресной строки, проблемма в том, что $massive - это определённая строчка в файле, а выводится $flip_array, как  просто array, а не как перевёрнутый $massive почему так?

Оффлайн Меняздесьдавнонет

  • новичЕк
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 5698
  • +0/-0
  • 2
    • Просмотр профиля
    • http://
Массивные игры
« Ответ #1 : 08 Января 2005, 03:02:33 »
потому, что это строчка, а не массив

Оффлайн xax

  • Фанат форума
  • Постоялец
  • ***
  • Сообщений: 230
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
Массивные игры
« Ответ #2 : 08 Января 2005, 12:39:29 »
RomikChef А как перевернуть строку с конца на начало?

Оффлайн Меняздесьдавнонет

  • новичЕк
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 5698
  • +0/-0
  • 2
    • Просмотр профиля
    • http://
Массивные игры
« Ответ #3 : 08 Января 2005, 14:23:05 »
а зачем?

Оффлайн xax

  • Фанат форума
  • Постоялец
  • ***
  • Сообщений: 230
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
Массивные игры
« Ответ #4 : 08 Января 2005, 20:50:07 »
RomikChef Хех, есть одна сложностьь при записе в массив: если не все данные введены, а потом написано ещё что - то с конца, то оно определяется не верно, так вот - надо строку в которой есть пропуски считать с конца и вывести это значение из массива.

Оффлайн Mog.

  • Фанат форума
  • Ветеран
  • *****
  • Сообщений: 828
  • +0/-0
  • 0
    • Просмотр профиля
Массивные игры
« Ответ #5 : 09 Января 2005, 08:28:02 »
xax
сначала строку $massive преобразуй в массив, а потом переворачивай её
Все болезни от нервов, только сифилис от удовольствия

Оффлайн PyJIeT

  • Заглянувший
  • Новичок
  • *
  • Сообщений: 20
  • +0/-0
  • 0
    • Просмотр профиля
    • http://myscript.h12.ru
Массивные игры
« Ответ #6 : 09 Января 2005, 13:01:57 »
Проще по-моему перевернуть...(код теоретический, не проверял тк бросил php и сейчас занимаюсь c++):

<?php
function re_str($str){
$newstr "";
$size strlen($str);
while(
$size--) $newstr .= $str[$size];
return 
$newstr
}
$str "hello";
echo 
re_str($str); // выведет olleh
?>
There no unblockable doors, there no unwinnered wars

Оффлайн Меняздесьдавнонет

  • новичЕк
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 5698
  • +0/-0
  • 2
    • Просмотр профиля
    • http://
Массивные игры
« Ответ #7 : 09 Января 2005, 13:21:59 »
PyJIeT вот и занимайся.
а сюда не лезь

Оффлайн xax

  • Фанат форума
  • Постоялец
  • ***
  • Сообщений: 230
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
Массивные игры
« Ответ #8 : 09 Января 2005, 13:39:40 »
PyJIeT Спасибо, а не мог бы ты описать ещё, что к чкму здесь?
Так как у меня код не работает, вернее работает, но он почему - то обрезает строку, и убирает знак разделения в массиве

RomikChef Если можешь то и ты объясни работу скрипта
« Последнее редактирование: 09 Января 2005, 13:56:09 от xax »

Оффлайн Меняздесьдавнонет

  • новичЕк
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 5698
  • +0/-0
  • 2
    • Просмотр профиля
    • http://
Массивные игры
« Ответ #9 : 09 Января 2005, 13:56:17 »
какой смысл описывать работу скрипта, если во-первых, в пхп есть специальная функция, которая делает то же самое.
а во-вторых - это тебе все равно нужно нежно не это?

Оффлайн xax

  • Фанат форума
  • Постоялец
  • ***
  • Сообщений: 230
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
Массивные игры
« Ответ #10 : 09 Января 2005, 14:00:57 »
RomikChef Просто напиши функцию, которая переворачивает строку

Оффлайн Mog.

  • Фанат форума
  • Ветеран
  • *****
  • Сообщений: 828
  • +0/-0
  • 0
    • Просмотр профиля
Массивные игры
« Ответ #11 : 09 Января 2005, 14:06:53 »
xax
Вместо $massive=$arr[$n]; сделай
$massive=explode(";",$arr[$n]);

Да! И вместо $runame=explode(";",$flip_array);

$runame=$flip_array;
Все болезни от нервов, только сифилис от удовольствия

Оффлайн Меняздесьдавнонет

  • новичЕк
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 5698
  • +0/-0
  • 2
    • Просмотр профиля
    • http://
Массивные игры
« Ответ #12 : 09 Января 2005, 14:14:07 »
xax вот сколько я тебя вижу - не устаю поражаться.
тебя в музей надо сдать.

Оффлайн xax

  • Фанат форума
  • Постоялец
  • ***
  • Сообщений: 230
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
Массивные игры
« Ответ #13 : 09 Января 2005, 14:14:40 »
Mog. А потом наверное стоит разбить $runame на элементы, через ";"?

Оффлайн xax

  • Фанат форума
  • Постоялец
  • ***
  • Сообщений: 230
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
Массивные игры
« Ответ #14 : 09 Января 2005, 14:17:24 »
RomikChef Чё такое - то?

Mog. Странно, но так как ты предложил ничего не работает: просто ничего не выводится

 

Sitemap 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28