php - PHP 5.x是否具有某种HashSet或Set类?

标签 php data-structures spl

我习惯了Java,那里有HashSetsArrayLists和其他Collections。但是我现在正在处理一个PHP项目。

我需要创建一个集,并用对象(在这种情况下为字符串)填充该集,但是该集只能包含每个对象一次。另外,如果存在该对象,我想从该集合中最后删除某个对象。使用Java集合类,这将非常容易。但是如何在PHP中实现呢?

我是否缺少array()的任何方法?我正在使用PHP 5.3。

最佳答案

如果只是字符串,则可以将数组用作集合:

$arr['str1'] = null;
$arr['str2'] = null;
$arr['str1'] = null;

print_r(array_keys($arr));

您唯一的潜在问题是,如果可能的话,数字字符串会隐式转换为整数。但这在PHP中通常不是问题,因为类型在大多数情况下都无关紧要。

关于php - PHP 5.x是否具有某种HashSet或Set类?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4730745/

相关文章:

php - HighCharts:局部变量在 "data:"中不起作用

php - 仅错误 (P)订阅/(P)取消订阅 Laravel Echo

java - LinkedHashSet迭代不按升序排列?

sorting - 具有极快插入时间的结构

php - mysqli_real_escape_string() 和 mysql_real_escape_string() 的区别

java - 我如何用枚举中每种环境类型的值列表来表示键?

php - RuntimeException SplFileInfo::getSize(): stat failed for... Laravel 4 上传图片

php - 为什么 SplPriorityQueue 类是一个队列(概念)

php - 不允许主机 'localhost' 连接到此 MariaDB 服务器