Модераторы: skyboy, MoLeX, Aliance, ksnk

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Массивы PHP 
:(
    Опции темы
Shaggie
Дата 26.1.2007, 12:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Завсегдатай
Сообщений: 570
Регистрация: 21.12.2006
Где: outer space

Репутация: нет
Всего: 72



Цитата(Gold Dragon @  26.1.2007,  09:02 Найти цитируемый пост)
А вот такой вопрос.. А зачем вообще сортировать массив? 

Чтобы обработать/вывести информацию в нужном порядке. Странный вопрос, имхо...


--------------------
Цитата(alina3000 @  6.3.2014,  10:47 Найти цитируемый пост)
Сорри что не по теме 
PM MAIL ICQ GTalk Jabber   Вверх
Gold Dragon
Дата 26.1.2007, 15:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Призрачный
****


Профиль
Группа: Экс. модератор
Сообщений: 6753
Регистрация: 1.3.2004
Где: Россия, Тамбов

Репутация: 10
Всего: 71



Цитата(SelenIT @  15.11.2006,  01:20 Найти цитируемый пост)
VovaPHP, наименования уникальны? Если да, то почему бы не использовать ассоциативный массив?
я исхожу из этой цитаты. А судя по тому что хочет VovaPHP это самый лучший вариант. По этому и спрашиваю зачем его сортировать, когда я могу вытащить любую запись



--------------------
Нельзя жить в прошлом, оно уже прошло.
Нельзя жить в будущем, оно ещё не наступило.
Нужно жить в настоящем, помня прошлое и думая о будущем!
PM MAIL WWW ICQ   Вверх
Nestrat
Дата 26.1.2007, 21:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 12
Регистрация: 28.10.2006

Репутация: нет
Всего: нет



Вот так я это зделал коряво конечно, но времени небыло, да и пишу я совсем недолго. Так что смотрите но не судите строго, хотя с удовольствием выслушаю полезную критику.

Код

// Сортировка трехмерного масива
while (list($key, $val) = each($polnyi_print)) 
{
while (list($date, $remainder) = each($val)) 
{
for($pi=1; $pi<=31; $pi++){
if($date==$pi)
{

krsort($remainder);
reset($remainder);
while (list($time, $text) = each($remainder)) 
{
@$text_all[$pi].=$text;
}
}

}
}
}
//---
$plumbum=31;
while($plumbum!==0)
{
if(!empty($text_all[$plumbum])){print ("<div style=\"border:1px solid #444444;margin-left:4px;margin-bottom:4px;width:600px;padding:4px;background:#666666;color:#FFFFFF;font-size:13px;\"><b>НОВОСТИ ЗА ".$plumbum.".".$global_date."</b></div>".$text_all[$plumbum]);}


$plumbum=$plumbum-1;
}
///--

PM MAIL   Вверх
GZep
Дата 27.1.2007, 17:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


участник Винграда
***


Профиль
Группа: Завсегдатай
Сообщений: 1528
Регистрация: 7.7.2006
Где: Москва

Репутация: 8
Всего: 32



Nestrat, советую Вам пользоваться вместо while (list($KEY, $VALUE) = each($ARRAY)), циклом foreach: foreach ($ARRAY as $KEY => $VALUE), по-скольку этот цикл специально для этого придуман и его использование (ИМХО) гораздо более удобнее, тем более что при этом цикле отпадает надобность в функции reset. smile 

Вот переписал ваш код:
Код

<?php

// Сортировка трехмерного масива
foreach ($polnyi_print as $key => $val)
{
foreach ($val as $date => $remainder)
{
for($pi=1; $pi<32; $pi++){
if($date==$pi)
{
krsort($remainder);
foreach ($remainder as $time => $text)
{
@$text_all[$pi].=$text;
}
}
}
}
}
//---
for ($plumbum = 31; $plumbum; $plumbum--)
{
if(!empty($text_all[$plumbum])){print ("<div style=\"border:1px solid #444444;margin-left:4px;margin-bottom:4px;width:600px;padding:4px;background:#666666;color:#FFFFFF;font-size:13px;\"><b>НОВОСТИ ЗА ".$plumbum.".".$global_date."</b></div>".$text_all[$plumbum]);}
}
///--

?>


Обратите внимание:
  • $plumbum=$plumbum-1; - это тоже самое, что и $plumbum--; (зачем вы так пишите? Это же не удобно и у меня складывается ошушение, что Вы начинали с Паскаля... smile )
  • while($plumbum!==0) вот это я совсем не понял... Зачем тут вообще сравнение эквивалентности? Вместо этого достаточно просто while($plumbum) (это так можно конкретно в Вашем случае...


Это сообщение отредактировал(а) GZep - 27.1.2007, 17:03


--------------------
user posted imageuser posted image
PM MAIL WWW ICQ Skype GTalk   Вверх
Nestrat
Дата 8.2.2007, 21:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 12
Регистрация: 28.10.2006

Репутация: нет
Всего: нет



Очень сильно прошу прощения за отсутсвие. Простите меня  smile 
Та массив, вобщем вот что я сделал
Код

// Сортировка трехмерного масива $polnyi_print[1][2][3] ну или четырех мне это не важно главное
// чтобы работало )))
while (list($key, $val) = each($polnyi_print)) 
{
while (list($date, $remainder) = each($val)) 
{
for($pi=1; $pi<=31; $pi++){
if($date==$pi)
{

krsort($remainder);
reset($remainder);
while (list($time, $text) = each($remainder)) 
{
@$text_all[$pi].=$text;
}
}

}
}
}


Прошу учесть что времени на особо долгое размышление небыло
Но если кто его отредактирует то следующий кто столкнется будет вам очень благодарен
PM MAIL   Вверх
Ответ в темуСоздание новой темы Создание опроса
Правила форума "PHP"
Aliance
IZ@TOP
skyboy
SamDark
MoLeX

Новичкам:

  • PHP редакторы собираются и обсуждаются здесь
  • Электронные книги по PHP, документацию можно найти здесь
  • Интерпретатор PHP, полную документацию можно скачать на PHP.NET

Важно:

  • Не брезгуйте пользоваться тегами [code=php]КОД[/code] для повышения читабельности текста/кода.
  • Перед созданием новой темы воспользуйтесь поиском и загляните в FAQ
  • Действия модераторов можно обсудить здесь

Внимание:

  • Темы "ищу скрипт", "подскажите скрипт" и т.п. будут переноситься в форум "Web-технологии"
  • Темы с именами: "Срочно", "помогите", "не знаю как делать" будут УДАЛЯТЬСЯ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0461 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.