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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Как в пхп сделать поле класса типа другого класса, Такое можно ваще делать? 
:(
    Опции темы
Vidocq
Дата 19.9.2005, 14:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



AntonioBanderaz
Я сначала думал её заюзать. Но она не подходит. smile Дело в том, что она возвращает массив элементов, которые есть во всех (!!!) массивах-аргументах. А аргументов очень часто будет больше чем 2. Понимаешь, о чём я?


--------------------
Всё течёт ©
PM MAIL ICQ   Вверх
AntonioBanderaz
Дата 19.9.2005, 23:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Velichko Anton
**


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

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



Vidocq
Да понимаю... Тебе надо если хотябы одно повторение с любым из массивов...
Ну тогда можно сделать так:
Код

/*
*$array = array($array1, $array2 [,$arrayN]);
*@return array(); 
*/

function IntersectInArrays($array) {
 $all = array();
  foreach($array as $subArrays) {
     foreach($subArrays as $arrVal) {
        $all[] = $arrVal; // создадим общий массив для всех 
     }
  }
 $uniq = array_unique($all); //Массив тех которые встречаются только один раз
 return array_diff($all,$uniq); //Возвращаем массив повторяшек
}



--------------------
ГЫ... 
PM MAIL ICQ   Вверх
Vidocq
Дата 20.9.2005, 14:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



AntonioBanderaz
Спасибо, я уже решил эту проблему немного по другому. smile
Щас вернусь и запостю пример...


--------------------
Всё течёт ©
PM MAIL ICQ   Вверх
Vidocq
Дата 20.9.2005, 15:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Напомню. Задача была такая:
1)Имеем массив ид-шников + один самостоятельный ид-шник. По ним нужно выгребать из БД массивы (их будет столько же сколько ид-шников в исходном массиве) других значений в цикле
2) Как-то сохранять эти массивы
3) в полученных массивах искать совпадающие элементы

Код

class Illness
{
 var $IllnessID;
 var $IllnessName;
}

class Point
{
 var $PointID;
 var $PointName;
 var $illnessesThatCure = array();//an array with illnesses cured by THAT point (array is of Illness type)
}

class SetOfPoints
{
 var $points = array();//an array ot Point type

 function AddPoints($illnessid, $authorid)
 {

  for ($i=0; $i<count($illnessid); $i++)
      {
        $sqlText ="SELECT p.pointid, p.pointname FROM points p, influence inf, method m WHERE ";
        $sqlText.= "p.pointid=inf.pointid AND inf.methodid=m.methodid and m.illnessid=". $illnessid[$i];
        $sqlText.= " AND m.authorid =". $authorid;
        /*print "<br>";
        print $sqlText;
        print "<br>";*/
        //executing query
        $result = mysql_query($sqlText);
        //saving points to array
        while ($single_record = mysql_fetch_array($result))
        {
                //classes for point and illness
                $oneIllness = new Illness();
                $onePoint = new Point();

                //saving current illness
                $oneIllness->IllnessID = $illnessid[$i];
                //$oneIllness->IllnessName = $single_record['illnessname'];

                //saving current point
                $onePoint->PointID = $single_record['pointid'];
                $onePoint->PointName = $single_record['pointname'];
                $onePoint->illnessesThatCure[] = $oneIllness;
                //if there is no such point in array -> add such point to array
                if (array_search($onePoint->PointID, $this->points)== FALSE)
                    {
                     $this->points[] = $onePoint;
                    }
                //if such point does exist -> adding illness only to array of illnesses of that point
                else
                    {
                     $this->points[]->Point->illnessesThatCure[] = $onePoint->illnessesThatCure;
                    }
      }
 }
 return $this->points;
}



--------------------
Всё течёт ©
PM MAIL ICQ   Вверх
Ответ в темуСоздание новой темы Создание опроса
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: Extensions | Следующая тема »


 




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


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

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