在 PHP 中处理对象唯一性
在 PHP 中处理对象数组时,需要使用 array_unique 等效项来删除重复实例。
array_unique 与 SORT_REGULAR 的对象
PHP 的 array_unique 函数也可以用于对象。通过将 sort_flags 参数设置为 SORT_REGULAR,它会根据对象的属性值而不是对象标识来比较对象。
代码示例
请考虑以下带有数组的代码Role 对象:
<code class="php">class Role { public $id; } $role1 = new Role(); $role1->id = 1; $role2 = new Role(); $role2->id = 1; $roles = array($role1, $role2); $uniqueRoles = array_unique($roles, SORT_REGULAR);</code>
这将返回一个仅包含唯一 Role 对象且具有重复实例的数组已删除。
按对象属性排序
此处的关键是确保 объектов' 属性(在本例中为它们的 ID)是唯一的。这将保证 array_unique 准确识别并删除重复项。
注意
请注意,此方法使用“==”运算符进行比较,该运算符会评估对象属性。如果您更喜欢通过对象标识进行严格比较,则可能需要为 array_unique 定义自定义比较函数。
以上是PHP 中如何处理对象的唯一性?的详细内容。更多信息请关注PHP中文网其他相关文章!