Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > PHP: Общие вопросы > Collections


Автор: Tony 21.1.2007, 20:53
Существуют ли в ПХП коллекции? Но не сампоалньные,  а каторые идут вмести с дестрибутовом PHP. Интересуют классы: ArrayList i HashMap.

Автор: Mal Hack 21.1.2007, 21:06
Нет.

Автор: BobiKK 21.1.2007, 21:54
А собственно, зачем? В PHP массивы динамические - хочешь, работай как со стеками или буферами, хочешь, как с хэш-таблицами.

Автор: Tony 21.1.2007, 22:58
Цитата(BobiKK @ 21.1.2007,  21:54)
А собственно, зачем? В PHP массивы динамические - хочешь, работай как со стеками или буферами, хочешь, как с хэш-таблицами.

Это не то.

Автор: Vaulter 22.1.2007, 00:38
в пятом ввели стандартные интерфейсы
ArrayAccess
который дает возможность использовать обьект в качестве имени массива 
HashMap по сути реализуется с помощью ассоциативного массива с древнейших времен PHP smile
например:
Код

class dataobject extends object implements ArrayAccess
{

}
$do = new dataobject(1);//id = 1
echo $do['name'] ;
echo $do['id'];
$do['name'] = 'fsdfsdf';

и.т.д.

Добавлено @ 00:38 
в пятом ввели стандартные интерфейсы
ArrayAccess
который дает возможность использовать обьект в качестве имени массива 
HashMap по сути реализуется с помощью ассоциативного массива с древнейших времен PHP smile
например:
Код

class dataobject extends object implements ArrayAccess
{

}
$do = new dataobject(1);//id = 1
echo $do['name'] ;
echo $do['id'];
$do['name'] = 'fsdfsdf';

и.т.д.

Автор: szz 22.1.2007, 09:56
Цитата
Это не то. 

  ОК, а где ты намерен применять коллекции, где нельзя применить примитивные хеши и массивы?

Автор: Tony 22.1.2007, 12:12
Коне4но пишут так:
Код

    <? $master = array ("killer"=>"adidos"); ?>
        <?= $master["killer"] ?><br/>

Но хочется так
Код

      <% Map myMap = new HashMap();
      myMap.put("killer","adidos"); %>
      <%= myMap.get("killer") %>

Просто привыкаешь 4то массиви это массивы,map eto map,list это list, и set это set. Совершенное разные классы. Ответ понятен. Нет так нет  smile .

Автор: szz 22.1.2007, 12:18
А... где привыкаешь? Ты с чего перелазиишь?

Автор: Tony 22.1.2007, 13:18
с J2EE

Автор: Mal Hack 22.1.2007, 13:21
Tony, ты можешь вполне написать небольшую надстройку и делать все это классом, единственное отличие, что в синтаксисе придется -> исползовать.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)