Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
PHP 5. На примерах. Авторы: Кузнецов М.В., Симдянов И.В., Голышев С.В. Объектно-ориентированное программирование на PHP. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель PHP 5 / 6 (3 издание). Авторы: Кузнецов М.В., Симдянов И.В. Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5/6. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Массивы
 
 автор: And200   (07.11.2004 в 18:39)   письмо автору
 
 

Как средствами РНР создать двухмерный массив примерно такого вида :

Х Х+1 х+2 , для произвольного количества значений Х?
1 2 3
2 3 4
и т.д.

   
 
 автор: cheops   (07.11.2004 в 19:02)   письмо автору
 
   для: And200   (07.11.2004 в 18:39)
 

Это имеется ввиду
<?php
  $x 
10;
  
$increment 0;
  
// Формируем матрицу...
  
for($i 1$i $x; ++$i)
  {
    for(
$k 1$k $x; ++$k)
    {
      
$arr[$i][$k] = $k $increment;
    }
    ++
$increment;
  }
  
// Выводим матрицу
  
for($i 1$i $x; ++$i)
  {
    for(
$k 1$k $x; ++$k)
    {
      echo 
$arr[$i][$k]."  ";
    }
    echo 
"\n";
  }
?>


PS Хм... такое вроде раньше на С задавать любили, ну или Pascal...

   
 
 автор: And200   (07.11.2004 в 19:24)   письмо автору
 
   для: cheops   (07.11.2004 в 19:02)
 

сорри, я плохо объяснил.
как создать именно массив.
При использовании Mysql c помощью:
mysql_fetch_array из базы извлекается таблица и создается массив.
А как то же сделать ( создать двухмерный массив) не создавая таблицу в Mysql.

1 4 6
2 17 18
и т.д.

   
 
 автор: Artem S.   (07.11.2004 в 20:04)   письмо автору
 
   для: And200   (07.11.2004 в 19:24)
 

$data = array();
if ($row = mysql_fetch_array($result))
{
    do
    {
        $data[] = $row;
    }
    while ($row =mysql_fetch_array($result));
}
else 

// код, если ошибка
}

   
 
 автор: cheops   (07.11.2004 в 20:24)   письмо автору
 
   для: And200   (07.11.2004 в 19:24)
 

>А как то же сделать ( создать двухмерный массив) не создавая
>таблицу в Mysql.
Всё равно не очень понятно :(, т.е. вопрос в том, как сделать произвольный двумерный массив?

   
 
 автор: LimP   (07.11.2004 в 20:36)   письмо автору
 
   для: cheops   (07.11.2004 в 20:24)
 

массив создается уже а каким тебе надо ты его формируй,двумерный или какой.....


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

   
 
 автор: And200   (08.11.2004 в 09:37)   письмо автору
 
   для: cheops   (07.11.2004 в 20:24)
 

Да, задача такая:
Существует таблица, из которой извлекаются все строки, добавляется определенное новое значение и, в результате, вычисляется новый параметр для каждой строки.
По этому параметру строки надо сортировать.
Конечно, можно создать в Mysgl доптаблицу и занести все данные с новым параметром в нее, извлечь и работать с этим массивом.
Но, может можно создать такой массив сразу. Я из учебника не понял, как создать произвольный многомерный массив и как с ним потом работать.
Я имею ввиду сортировку, примерно как в ЕКСЕЛЬ.

   
 
 автор: glsv (Дизайнер)   (08.11.2004 в 10:46)   письмо автору
 
   для: And200   (08.11.2004 в 09:37)
 

>как создать произвольный многомерный массив и как с ним потом работать.

А его нужно где то хранить? Или это одноразовый массив – вывел в браузер и забыл?

   
 
 автор: And200   (08.11.2004 в 10:50)   письмо автору
 
   для: glsv (Дизайнер)   (08.11.2004 в 10:46)
 

Этот массив постоянно изменяется в зависимости от вводимых параметров и выводиться в окно каждый раз при изменении. А окончательный вариант массива сохраняется в базе данных.

   
 
 автор: And200   (08.11.2004 в 11:41)   письмо автору
 
   для: And200   (08.11.2004 в 10:50)
 

Возможно это сделать?

   
 
 автор: cheops   (08.11.2004 в 11:43)   письмо автору
 
   для: And200   (08.11.2004 в 09:37)
 

Как вычисляется параметр? Нельзя ли его вычислить прямо в запросе и отсортировать по нему?
Элементы массива будут создаваться при обращении к ним, т.е. код
<?php
  $arr 
= array();
  
$arr[0][0] = "first";
  
$arr[0][1] = "second";
  
$arr[0][2] = "third";

  
$arr[1][0] = "first";
  
$arr[1][1] = "second";
  
$arr[1][2] = "third";

  
$arr[2][0] = "first";
  
$arr[2][1] = "second";
  
$arr[2][2] = "third";
?>

создаст массив 3х3.

   
 
 автор: cheops   (08.11.2004 в 11:47)   письмо автору
 
   для: cheops   (08.11.2004 в 11:43)
 

Вот темка по созданию многомерных массивов из результатов полученных от MySQL - можно в форуме MySQL ещё одну тему завести, если вы хотите привлечь MySQL для формирования многомерного массива...

http://www.softtime.ru/forum/read.php?id_forum=3&id_theme=618

   
 
 автор: And200   (08.11.2004 в 12:00)   письмо автору
 
   для: cheops   (08.11.2004 в 11:47)
 

Я примерно представляю, как это сделать с использованием Mysql. Но, при больших таблицах постоянное обращение к база не будет ли тормозить загрузку в окна?

   
 
 автор: cheops   (08.11.2004 в 12:17)   письмо автору
 
   для: And200   (08.11.2004 в 12:00)
 

Возможно... всё-таки не очень понятно с параметром, который вычисляется для каждой строки - он вычисляется на основании данных всей таблицы?

   
 
 автор: And200   (09.11.2004 в 09:10)   письмо автору
 
   для: cheops   (08.11.2004 в 12:17)
 

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

   
 
 автор: cheops   (09.11.2004 в 11:40)   письмо автору
 
   для: And200   (09.11.2004 в 09:10)
 

>Изменяются условия, происходит изменение параметров.
Условия именяются на основании провердённых экспериментов? Т.е. идёт схема последовательного приближения? Может решением будут временные таблицы (см. ссылку)?

http://www.softtime.ru/forum/read.php?id_forum=1&id_theme=278

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования