Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/design-patterns/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/google-chrome/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
PHP对象数组内部导航模式_Php_Design Patterns_Oop - Fatal编程技术网

PHP对象数组内部导航模式

PHP对象数组内部导航模式,php,design-patterns,oop,Php,Design Patterns,Oop,我有一个对象数组,希望对象能够引用它们的“邻居”(数组中的下一个和上一个对象)。有没有一种现有的模式可以做到这一点 也许数组应该包装在一个对象中(因为对象可以像数组一样进行迭代)。这也很好,我只是在寻找一个现有的良好实践模式。所描述的问题看起来与平常非常相似。您可以将next和prev字段添加到您的对象中,或者如果您不想更改它,您可以创建一个包装器对象,该对象将包含原始字段并包含这些字段。或者,如果数组足够全局,只在数组中存储当前索引,那么获取邻居就非常简单了 所描述的问题与通常的问题非常相似。

我有一个对象数组,希望对象能够引用它们的“邻居”(数组中的下一个和上一个对象)。有没有一种现有的模式可以做到这一点


也许数组应该包装在一个对象中(因为对象可以像数组一样进行迭代)。这也很好,我只是在寻找一个现有的良好实践模式。

所描述的问题看起来与平常非常相似。您可以将next和prev字段添加到您的对象中,或者如果您不想更改它,您可以创建一个包装器对象,该对象将包含原始字段并包含这些字段。或者,如果数组足够全局,只在数组中存储当前索引,那么获取邻居就非常简单了

所描述的问题与通常的问题非常相似。您可以将next和prev字段添加到您的对象中,或者如果您不想更改它,您可以创建一个包装器对象,该对象将包含原始字段并包含这些字段。或者,如果数组足够全局,只在数组中存储当前索引,那么获取邻居就非常简单了 < P>我会考虑使用你的包装对象。这种方法将是您正在寻找的“现有良好实践”。

根据您正在运行的PHP版本,提供了一个类,该类提供了双链接列表的所有主要功能。

根据您正在运行的PHP版本,提供了一个类,该类提供了双链接列表的所有主要功能。

这正是我计划要做的-只是不知道是否有比这更好的模式(或者对于php的oop更好)。然后我将数组包装在一个类中,以便在删除成员时重新分配引用。这就是我计划要做的-只是不知道是否有比这更好的模式(或者对于php的oop更好)。我将把数组封装在一个类中,以便在删除成员时重新分配引用。除了SpDouByLyKeDLIST之外,它忽略了在中间的某个地方插入/删除节点的方法,除了它(SpDouByLyKeDLIST)目前忽略了从中间插入/删除节点的方法。