首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >PHP中的类Java集合

PHP中的类Java集合
EN

Stack Overflow用户
提问于 2009-10-16 20:28:12
回答 7查看 19K关注 0票数 17

我正在学习PHP5 (我上一次检查PHP是在PHP4的日子里),我很高兴地看到PHP5 OO比PHP4 OO更像Java,但仍然有一个问题让我感到非常不舒服,因为我的Java语言背景:数组。

我正在阅读“专业PHP6”(Wrox),它显示了它自己的集合实现。我还发现了其他的类,比如http://aheimlich.dreamhosters.com/generic-collections/Collection.phps中基于SPL的那个类。我还发现在SPL (ArrayObject)中有某种类型的集合

然而,我很惊讶,因为我并没有真正看到人们在PHP中使用集合,他们似乎更喜欢数组。

那么,在PHP语言中使用集合,就像人们在Java语言中使用ArrayList而不是基本数组一样,这不是一个好主意吗?毕竟,php数组并不真正像java数组。

EN

回答 7

Stack Overflow用户

回答已采纳

发布于 2009-10-16 20:35:57

Java中的集合非常有意义,因为它是一种强类型语言。有一组“汽车”和另一组“摩托车”是有意义的。

然而,在PHP中,由于动态类型的性质,牺牲集合的正式性是很常见的。数组足以用作各种对象类型(汽车、摩托车等)的通用容器。此外,额外的好处来自于数组可以非常容易地变化(当缺少适当的错误检查时,这有时可能是一个很大的缺点)。

我有Java背景,我发现在PHP中使用集合设计模式不会带来太多好处(没有多线程、没有内存分配优化、没有迭代器等)。

如果您正在寻找这些优点中的任何一个,最好是在数组周围构造一个包装器类,实现每个特性(迭代器等)。按菜单点菜。

票数 19
EN

Stack Overflow用户

发布于 2011-08-23 06:33:23

我非常喜欢PHP中的集合对象,它们可以用来增加类型安全性,实现易于使用的搜索、排序和操作功能,并代表正确的OO方法,而不是使用数组和大量有用的但过程式的函数,这些函数在源代码中以不同的模式对它们进行操作。

我们有用于各种目的的各种集合,所有这些集合都是整洁地继承的,以促进类型安全、一致的编码标准和高水平的代码重用。

但是最终结果,它们都是数组内部的!

我想这真的归结为选择,但在我的面向对象的世界中,我喜欢在基类中保留容易重复的代码段,例如排序和搜索算法,并且我发现对象表示法更具自我文档化。

票数 6
EN

Stack Overflow用户

发布于 2009-10-16 20:36:26

PHP数组是关联的.它们比Java的数组强大得多,并且包含List<>和Map<>的许多功能。

你说的“好主意”是什么意思?它们是不同的工具,以你使用另一种语言的方式使用另一种语言通常会导致沮丧。

票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1580223

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档