X   Сообщение сайта
(Сообщение закроется через 3 секунды)



 

Здравствуйте, гость (

| Вход | Регистрация )

Открыть тему
Тема закрыта
> Помогите с массивами Php.
Nunkomm
Nunkomm
Topic Starter сообщение 19.4.2010, 23:43; Ответить: Nunkomm
Сообщение #1


Здравствуйте.
Есть файл, который берёт массив в обратном порядке и нумерует страницы в обратном порядке
Нужно, чтобы брал массив в прямом порядке и нумеровал страницы в прямом порядке:
<?php

class MyUpload extends Upload
{
var $page;

function __construct()
{
if(!($this->page = unserialize(trim(file_get_contents("state")))))
{
$this->page = 0;
}
}

function submit_book($objTxtParser)
{
$objTxtParser->parse_book();
$t = $objTxtParser->pages;

for($i=0;$i<count($t);$i++)
{
$pages[$i]["text"] = $t[$i];
$pages[$i]["num"] = $i;
}

$pages = array_reverse($pages);

for($j=$this->page;$j<count($pages);$j++)

{
$tmp = $this->title;
$num = $pages[$j]["num"]+1;
$this->title .= " - стр. {$num}.";
$this->body = "<p align='justify'>".$pages[$j]["text"]."</p>";
parent::submit();
$this->title = $tmp;
$this->page++;
file_put_contents("state",serialize($this->page));
}
}
}

Помогите исправить. С меня "+" и спасибо.

Сообщение отредактировал Nunkomm - 19.4.2010, 23:51
0
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
rjksdfhe
rjksdfhe
сообщение 20.4.2010, 0:15; Ответить: rjksdfhe
Сообщение #2


Здесь только $pages = array_reverse($pages); переворачивает исходный порядок массива, можно эту строку закомментировать и посмотреть что олучится.

Если не поможет, для решения проблемы необходим развёрнутый пример исходников и данных.


Поблагодарили: (1)
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Nunkomm
Nunkomm
Topic Starter сообщение 20.4.2010, 0:24; Ответить: Nunkomm
Сообщение #3


(rjksdfhe @ 19.4.2010, 23:15) *
Здесь только $pages = array_reverse($pages); переворачивает исходный порядок массива, можно эту строку закомментировать и посмотреть что олучится.

Если не поможет, для решения проблемы необходим развёрнутый пример исходников и данных.



Закомментировать пытался. Выдаёт ошибку парсинья. Исходники отправил в ЛС.
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
freesoccer
freesoccer
сообщение 20.4.2010, 0:26; Ответить: freesoccer
Сообщение #4


А что Вам мешает считывать массив с конца???
Короче смысл такой: объявляем $j = count ($array) и выводим страницы в обратном порядке от максимальной к нулю. Индекс в каждой итерации цикла уменьшаем на 1. Как только индекс = 0 - массив считан.
Имхо, использовать класс для этого я бы не стал. На обработку массива в цикле уходит 3-4 строки кода.

Сообщение отредактировал freesoccer - 20.4.2010, 0:26


Поблагодарили: (1)
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
fedek
fedek
сообщение 20.4.2010, 0:34; Ответить: fedek
Сообщение #5


С меня "+" и спасибо.

На Форуме запрещено Платить Плюсами и спасибо. Их дают в благодарность. Просьба модераторов объяснить ТСу что правила для всех...


--------------------
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Nunkomm
Nunkomm
Topic Starter сообщение 20.4.2010, 0:36; Ответить: Nunkomm
Сообщение #6


(freesoccer @ 19.4.2010, 23:26) *
А что Вам мешает считывать массив с конца???
Короче смысл такой: объявляем $j = count ($array) и выводим страницы в обратном порядке от максимальной к нулю. Индекс в каждой итерации цикла уменьшаем на 1. Как только индекс = 0 - массив считан.
Имхо, использовать класс для этого я бы не стал. На обработку массива в цикле уходит 3-4 строки кода.


Поподробнее можно, если не сложно...

(fedek @ 19.4.2010, 23:34) *
С меня "+" и спасибо.

На Форуме запрещено Платить Плюсами и спасибо. Их дают в благодарность. Просьба модераторов объяснить ТСу что правила для всех...



Вы считаете, что я буде НЕ благодарен тому, кто мне поможет? cool.gif
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
fedek
fedek
сообщение 20.4.2010, 12:03; Ответить: fedek
Сообщение #7


Вы считаете, что я буде НЕ благодарен тому, кто мне поможет?

Я думаю вы будете благодарны=) Просто я уже получил замечание по этому поводу)) Вот хотел и вам его датьwink.gif


--------------------
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
freesoccer
freesoccer
сообщение 20.4.2010, 16:19; Ответить: freesoccer
Сообщение #8


Почитал описание array_reverse() - по идее именно она переворачивает массив. Попробуйте закомментировать либо строку
$pages = array_reverse($pages);
прописать дважды.
Либо еще вариант: цикл начинать с конца, т.е. строку
for($j=$this->page;$j<count($pages);$j++)

заменить на
$j=count($pages);
for($j>0;$j=$j-1)
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Lame13
Lame13
сообщение 20.4.2010, 16:24; Ответить: Lame13
Сообщение #9


Есть классный сайтик, php.net называется :)

http://ru2.php.net/manual/en/function.array-reverse.php

Например, вот:
<?php
function arrayReverse(&$arr)
{
    $c = count($arr);
    for($i=$c-1;$i>=0;$i--)
    {
        $arr[$c+$i] = $arr[$i];
    }
    $arr = array_slice($arr,$c,$c*2);
}
?>


Только учтите, что ключи подобный метод не сохраняет.

Замечание модератора:
Эта тема была закрыта автоматически ввиду отсутствия активности в ней на протяжении 100+ дней.
Если Вы считаете ее актуальной и хотите оставить сообщение, то воспользуйтесь кнопкой
или обратитесь к любому из модераторов.


--------------------
Здесь я беру кеи
Отличные серверы - мы вместе уже 5 лет :) //или 6? О_О ОМГ! теперь и в Европе! :)
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Открыть тему
Тема закрыта
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0


Свернуть

> Похожие темы

  Тема Ответов Автор Просмотров Последний ответ
Открытая тема (нет новых ответов) Помогите вспомнить рекламного бота Телеграм для обмена рекламой
0 Mixatraider 692 21.2.2024, 23:42
автор: Mixatraider
Открытая тема (нет новых ответов) СОЗДАНИЕ : / САЙтЫ / ЛЕНДЫ / БОТЫ ТГ / ВАЙТЫ / КРЕО / СОФТЫ / ДИЗАЙН [PHP, JS, HTML/CSS] и другое
5 CULA 3293 19.12.2023, 18:55
автор: CULA
Открытая тема (нет новых ответов) Услуги по созданию и доработке скриптов PHP, MySQL, JavaScript, jQuery
Разработка сайтов и сервисов под-ключ
0 alexey 1171 24.11.2023, 14:46
автор: alexey
Горячая тема (нет новых ответов) Тема имеет прикрепленные файлыВеб-разработка (HTML5, CSS3, JavaScript, jQuery, Ajax, PHP)
56 qpPeW 44767 19.7.2023, 10:03
автор: qpPeW
Открытая тема (нет новых ответов) Есть спецы по php/laravel?
3 Mixatraider 1856 26.5.2023, 20:48
автор: Mixatraider


 



RSS Текстовая версия Сейчас: 29.3.2024, 12:56
Дизайн