Подскажите: Динамические данные в PHP (БФ)

Статус: Офлайн
Реєстрація: 20.05.2007
Повідом.: 46
Подскажите: Динамические данные в PHP (БФ)

Уважаемы знатоки, подскажите, пожалуйста.

Раньше учил С++. Сейчас осваиваю PHP.
В C++ предусмотрена работа с динамическими списками (выделение памяти, указатели на след элемент, на пред. элемент и т.д......)

В PHP не могу найти ничего подобного. Вроде только массивы.
- Если есть, подскажите как это реализовано.
-Если нет - как решить задачу, когда нужно использовать большое кол-во связанных динамических списков, с возможностью динамического выделения памяти/удаления из памяти элементов, расстановка указателей в произвольном порядке?
 
Массив в php это хеш таблица (можно сравнить с тем же json), хранится в памяти и обрабатывается совсем не так, как в С. Память выделяется динамически, освобождается мусорщиком (или unset`ом).
Для двусвязных списков, стеков, очередей и т.п. есть нативные
⚠ Тільки зареєстровані користувачі бачать весь контент та не бачать рекламу.
классы SplDoublyLinkedList, SplQueue и т.д. (по аналогии с STL). Но инфы о них в сети мало, т.к. быдлокодеры и сеота не в курсе об их существовании)
 
нету в PHP никаких указателей
как и в яве или C#
есть массивы без всяких ограничений как хочешь так и присваивай

почитай учебник по работе с массивами с примерами и не пытайся програмировать на PHP как на С
 
Спасибо всем. Полез читать.

Как вариант, можно еще попробовать написать серверное приложение на С++, а клиента на php.
 

В общем, может проще будет, если я опишу немного задачу.
Речь идет о серверной части.

Нужен эффективный способ работы с множествами.
Клиент формирует запрос.
По запросу на сервере создается объект в памяти.
Кол-во объектов динамически меняется. Под них нужно выделять и освобождать память (насколько я понимаю).
Потенциально кол-во объектов, находящихся в памяти одновременно может быть десятки миллионов и более.
Объекты могут быть неоднородными (у них разные свойства).

По этим свойствам проводится поиск и динамически создаются множества объектов.
(В С++ не нужно выделять память для объектов-элементов множества, а можно лишь расставить указатели на уже существующие, плюс по скорости это быстрее).

После анализа множества удаляются.
Объекты должны иметь возможность "выпадать" (удаляться из памяти) даже во время анализа множеств, в которые они попали.
Процесс бесконечен.

На С++ это можно реализовать посредством динамических списков с указателями.

Какими средствами php это можно реализовать? Если можно, ткните носом где искать.
 
Останнє редагування:
пхп для этого не годится, в вашем случае действительно лучше С/жаба/nodejs.

Спасибо и на этом.

Думаю вынести тогда вопрос как и на каком языке это проще реализовать в отдельную тему. Просто не могу найти в Google ни одного нормального источника по серверам на С++. И вообще, первый раз это будет для меня писать на разных языках. Учусь только, а за дело взялся нелегкое для меня).

Вычитал, что Python вроде и для сервера подходит и с множествами там работа есть.
 
я бы юзал nodejs, но это дело вкуса)
 
Назад
Зверху Знизу