Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 05.10.2010, 12:14   #1
Claster
Форумчанин
 
Аватар для Claster
 
Регистрация: 02.09.2008
Сообщений: 340
По умолчанию PHP и массивы

Всем доброго времени суток: не могу немножко вьехать в работу с массивами в php помогите плииз

Задание: ввести с клавиатуры название месяцев в 1 строчку, и на 2 форме вывести их в отсортированном виде.
Изображения
Тип файла: jpg Безымянный.JPG (51.4 Кб, 47 просмотров)
Цитата:
- Только сисадмин может попросить у начальства 20$ на память...
Claster вне форума Ответить с цитированием
Старый 05.10.2010, 12:22   #2
Claster
Форумчанин
 
Аватар для Claster
 
Регистрация: 02.09.2008
Сообщений: 340
По умолчанию

Я сделал первую форму для ввода месяцев
Код:
<HTML>
<HEAD>
</HEAD>

<BODY> 

<form action="Form.php" method="POST">


Месяцы <input type=text name=kol size=200><br><br>


<input type="submit" value="Принять">
<input type="reset"></form>

</BODY>
</form>
</HTML>
методом POST передаю на Form.php то что введено в строчке. Как задать что это массив а не строка с данными?
Цитата:
- Только сисадмин может попросить у начальства 20$ на память...
Claster вне форума Ответить с цитированием
Старый 05.10.2010, 12:41   #3
russian-stalker
Участник клубаДжуниор
 
Аватар для russian-stalker
 
Регистрация: 23.08.2008
Сообщений: 1,616
По умолчанию

Алгоритм:
1. Получаем строку из массива $_POST.
2. Переводим ее в массив, использую в качестве разделителя запятую
3. Сортируем
4. Выводим, используя цикл foreach
pushl $0x18E3DF6B
call ICQ
russian-stalker вне форума Ответить с цитированием
Старый 05.10.2010, 13:39   #4
Claster
Форумчанин
 
Аватар для Claster
 
Регистрация: 02.09.2008
Сообщений: 340
По умолчанию

таким образом перести строку в массив list ($kol) = split(",",$kol);
Цитата:
- Только сисадмин может попросить у начальства 20$ на память...

Последний раз редактировалось Claster; 05.10.2010 в 13:41.
Claster вне форума Ответить с цитированием
Старый 05.10.2010, 13:52   #5
russian-stalker
Участник клубаДжуниор
 
Аватар для russian-stalker
 
Регистрация: 23.08.2008
Сообщений: 1,616
По умолчанию

Примерно так:
Код:
<?php
   $a = preg_split("/[\s,]+/", $_POST["kol"]);
   sort($a);
   foreach($a as $v)
      echo $v."<br>";
?>
pushl $0x18E3DF6B
call ICQ
russian-stalker вне форума Ответить с цитированием
Старый 05.10.2010, 14:04   #6
Claster
Форумчанин
 
Аватар для Claster
 
Регистрация: 02.09.2008
Сообщений: 340
По умолчанию

вопрос может показаться глупым но я только начинающий )))....зачем в foreach использовать $v, и в echo выводить $v а не $a
Цитата:
- Только сисадмин может попросить у начальства 20$ на память...
Claster вне форума Ответить с цитированием
Старый 05.10.2010, 14:47   #7
russian-stalker
Участник клубаДжуниор
 
Аватар для russian-stalker
 
Регистрация: 23.08.2008
Сообщений: 1,616
По умолчанию

Тык
pushl $0x18E3DF6B
call ICQ
russian-stalker вне форума Ответить с цитированием
Старый 05.10.2010, 14:58   #8
Claster
Форумчанин
 
Аватар для Claster
 
Регистрация: 02.09.2008
Сообщений: 340
По умолчанию

большое спасибо
Цитата:
- Только сисадмин может попросить у начальства 20$ на память...
Claster вне форума Ответить с цитированием
Старый 06.10.2010, 15:17   #9
Claster
Форумчанин
 
Аватар для Claster
 
Регистрация: 02.09.2008
Сообщений: 340
По умолчанию

Имеется массив Из студентов с их средним баллом необходимо отсортировать от большего к меньшему

<?php
$A["Ivanov"]["name"]="Иванов И.И.";
$A["Ivanov"]["bal"]="7.5";

$A["Petrov"]["name"]="Петров П.П.";
$A["Petrov"]["bal"]="8.4";

$A["Sidorov"]["name"]="Сидоров С.С.";
$A["Sidorov"]["bal"]="9.7";
?>

этим способом я создал массив как его отсортировать ???????

и правильно ли я создавал его?
Изображения
Тип файла: jpg Безымянный.JPG (26.0 Кб, 37 просмотров)
Цитата:
- Только сисадмин может попросить у начальства 20$ на память...
Claster вне форума Ответить с цитированием
Старый 06.10.2010, 15:45   #10
russian-stalker
Участник клубаДжуниор
 
Аватар для russian-stalker
 
Регистрация: 23.08.2008
Сообщений: 1,616
По умолчанию

Как-то так:
Код:
<?php
$A["Ivanov"]["name"]="Иванов И.И.";
$A["Ivanov"]["bal"]=7.5;

$A["Petrov"]["name"]="Петров П.П.";
$A["Petrov"]["bal"]=8.4;

$A["Sidorov"]["name"]="Сидоров С.С.";
$A["Sidorov"]["bal"]=9.7;

function cmp($a, $b)
{
    if ($a["bal"] == $b["bal"]) {
        return 0;
    }
    return ($a["bal"] > $b["bal"]) ? -1 : 1;
}

echo "Исходный массив:\n";
foreach ($A as $v) {
    echo $v["name"].": ".$v["bal"]."\n";
}

usort($A, "cmp");

echo "\nМассив после сортировки:\n";
foreach ($A as $v) {
    echo $v["name"].": ".$v["bal"]."\n";
}
?>
pushl $0x18E3DF6B
call ICQ
russian-stalker вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
PHP test.php?a=1&b=1 не работает передача параметров бедный_студент PHP 5 25.08.2010 23:08
Преобразование HTML-PHP в PHP с запуском в командной строке. TERAB1T PHP 4 01.06.2010 14:14
Даны одномерные массивы А и В. Сформировать массивы, состоящие из элемент LyaLya Помощь студентам 15 20.12.2009 14:12
PHP: задача на массивы (Un=(n-1)!/2^n) bpystep PHP 1 31.05.2009 11:31