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

Поиск:

Закрытая темаСоздание новой темы Создание опроса
> Вывод или сортировка массивов, Как сделать ? 
:(
    Опции темы
Хрипа
Дата 18.3.2008, 12:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


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

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



У меня есть массив. Зарание знаю название елемнта.
Мне надо в цикле когда я бегу по элементам вывести их по порядку начинаю бежать с 0.
Наглядный пример:
Предположем что первый элимент равен слову "ПЯТЬ" а седьмой элемент равен слову "СТО" - String
. Т,Е у нас есть масив:
[0] = .....
[1] = ПЯТЬ
[2] = ...
..............
[7] = СТО
-------------------------------------
Первым элиментом мне надо вывести СТО, потом надо вывести ПЯТЬ, желательно в одном цикле.
Учтите что элементом может быть масса поэтоу простой if () else не подойдёт, при этом позицию эелеметов можно менять. единственный способ узнать элемент это через PREG_MACTH

З.Ы Можно указывать дополнительные порядки и использывать Индексированный или Ассециативный массив.
СПАСИБО !

--------------------
<Вырезана, как не соответствующая правилам форума >
PM MAIL   Вверх
awers
Дата 18.3.2008, 14:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник
Сообщений: 1465
Регистрация: 22.3.2006
Где: Россия, Таганрог

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



http://www.php.net/manual/ru/ref.array.php
функции работы с массивами. там есть и сортировки и все что может понадобиться
PM MAIL WWW ICQ Skype   Вверх
Хрипа
Дата 18.3.2008, 15:17 (ссылка)    | (голосов:5) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


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

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



УМНИК покажи мне функцию которая сделает такое:

$ars = Array("ps" => 3,"ps2"=>1,"ps3"=>2);
$size = sizeof($ars);
for($i=0;$i<=$size;$i++)
    foreach($ars as $key => $value)
        if ($i == $value) $add_array[] = $key;

print "<pre>";
print_r($add_array);
--
На выходе:
Array
(
    [0] => ps2
    [1] => ps3
    [2] => ps
)

Мне надо такое тока без цикла Foreach.

Это сообщение отредактировал(а) Хрипа - 18.3.2008, 15:26
--------------------
<Вырезана, как не соответствующая правилам форума >
PM MAIL   Вверх
bars80080
Дата 18.3.2008, 15:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


прапор творюет
****
Награды: 1



Профиль
Группа: Завсегдатай
Сообщений: 12022
Регистрация: 5.12.2007
Где: Königsberg

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



http://www.php.net/manual/ru/function.array-flip.php


awers, дал тебе ссылку, а тебе лень там посмотреть?

кто "умник" после этого?
PM MAIL WWW   Вверх
Хрипа
Дата 18.3.2008, 15:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


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

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



да зачем не смотреть функции
Задача стоит на Алгоритмизацию как это правельно сделать ручками.
--------------------
<Вырезана, как не соответствующая правилам форума >
PM MAIL   Вверх
Nigel
Дата 18.3.2008, 15:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


познаю мир
**


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

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



Цитата(Хрипа @ 18.3.2008,  15:27)
да зачем не смотреть функции

А кому нужно решить проблему?
Формулируй четко задачу.
Отсортировать массив по значениям?
PM MAIL   Вверх
awers
Дата 18.3.2008, 15:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник
Сообщений: 1465
Регистрация: 22.3.2006
Где: Россия, Таганрог

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



Хрипа, так у тебя неверно написан даже твой пример
Ты пришел сюда за помощью, хамишь и помощь не принимаешь. Будь добр, если ты хочешь помощи - сотрудничай с теми кто пытается тебе помочь.

Это сообщение отредактировал(а) awers - 18.3.2008, 15:35
PM MAIL WWW ICQ Skype   Вверх
bars80080
Дата 18.3.2008, 15:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


прапор творюет
****
Награды: 1



Профиль
Группа: Завсегдатай
Сообщений: 12022
Регистрация: 5.12.2007
Где: Königsberg

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



awers, предложил универсальную помощь, функции, с которыми сделать можно всё что-угодно. непосредственно к задаче в третьем посте решается array_flip()

если не ошибаюсь, ты уже две темы создал по этому поводу, но всё равно до сих пор непонятно, что ты хочешь сделать
почему тебе надо вначале вывести СТО, а затем ПЯТЬ? совершенно не очевидно

и ругаться на тех кто пытается помочь совершенно не стоит, это тебе Молекс доходчиво объяснит
PM MAIL WWW   Вверх
Хрипа
Дата 18.3.2008, 15:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


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

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



я пришол за помошью однако вы не помогаите а ссылки кидаите
Задача чётко описана!
Есть даже пример скрипта что надо сделать и как.
Функции запрешено использовать надо сделать без функции ручками! smile
--------------------
<Вырезана, как не соответствующая правилам форума >
PM MAIL   Вверх
awers
Дата 18.3.2008, 15:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник
Сообщений: 1465
Регистрация: 22.3.2006
Где: Россия, Таганрог

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



Цитата(Хрипа @  18.3.2008,  16:39 Найти цитируемый пост)
вы не помогаите а ссылки кидаите

Интересный подход. А решение задачи за тебя - это помощь?

п.с. сорри за офтоп.

"УМНИК покажи мне функцию которая сделает такое"

Код

<?
$ars = Array("ps" => 3,"ps2"=>1,"ps3"=>2);
print_r(array_flip($ars));
?>


Зачем велосипед изобретать? 

IF нельзя, FOREACH нельзя, функции нельзя.... PHP можно?

Любой другой способ будет с фоичем

Это сообщение отредактировал(а) awers - 18.3.2008, 15:46
PM MAIL WWW ICQ Skype   Вверх
bars80080
Дата 18.3.2008, 15:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


прапор творюет
****
Награды: 1



Профиль
Группа: Завсегдатай
Сообщений: 12022
Регистрация: 5.12.2007
Где: Königsberg

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



ладно, ответь на вопрос:

почему тебе надо вначале вывести СТО, а затем ПЯТЬ?

п.с. нашёл:
Цитата(Feldmarschall @  18.3.2008,  08:15 Найти цитируемый пост)
SelenIT, насколько я понимаю, ему надо уметь указывать позицию вывода, т.е. "Допусти я хочу вывести первым элементом "Первое", ВТОРЫМ Элементом Четвертое."
Но при этом, кроме этого "допустим", требуемый порядок у него нигде не прописан. И мысль, что его надо где-то задавать, похоже, просто не приходит автору в голову  

PM MAIL WWW   Вверх
awers
Дата 18.3.2008, 15:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник
Сообщений: 1465
Регистрация: 22.3.2006
Где: Россия, Таганрог

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



bars80080, 
Код

...
$array[random()] = $key;
...

PM MAIL WWW ICQ Skype   Вверх
bars80080
Дата 18.3.2008, 15:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


прапор творюет
****
Награды: 1



Профиль
Группа: Завсегдатай
Сообщений: 12022
Регистрация: 5.12.2007
Где: Königsberg

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



как я не догадался

отсутствие условий выборки предполагает "белый шум" результатов
PM MAIL WWW   Вверх
Nigel
Дата 18.3.2008, 15:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


познаю мир
**


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

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



Цитата
Задача чётко описана!

Где?
Цитата
почему тебе надо вначале вывести СТО, а затем ПЯТЬ?

+1
Цитата
УМНИК покажи мне функцию

Цитата
Функции запрешено использовать надо сделать без функции

Что вам нужно, товарисч?
PM MAIL   Вверх
Fortop
Дата 18.3.2008, 16:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


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

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



Вообще-то помогать тебе никто не обязан. Если так уж хочется тебе алгоритм, бери пользуйся.

1a. Если у тебя там только числительные то

2а. Пишешь свой синтаксический анализатор который будет разбирать твои
ПЯТЬ, СТО, СТО ДВАДЦАТЬ ПЯТЬ в цифры. 
3а. В цикле все сортируешь, как тебе надо.

1б. иначе (т.е. кроме слов СТО, ПЯТЬ, может еще встретится АРБУЗ.)
2б. Берешь и составляешь таблицу, где у тебя будут перечисленны все возможные значения твоих слов в возрастающем порядке.
3б. И дальше сортируешь свой массив в прямом или реверсном порядке используя эту таблицу.






Это сообщение отредактировал(а) Fortop - 18.3.2008, 16:17


--------------------
Мир это Я.
Живее всех живых.
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.0664 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


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

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